diff --git a/example/zfs.nix b/example/zfs.nix index e344289..2b56bd7 100644 --- a/example/zfs.nix +++ b/example/zfs.nix @@ -12,11 +12,16 @@ zroot = { type = "zpool"; mode = "mirror"; + rootFsOptions = { + compression = "lz4"; + "com.sun:auto-snapshot" = "false"; + }; datasets = [ { type = "zfs_filesystem"; name = "zfs_fs"; mountpoint = "/zfs_fs"; + options."com.sun:auto-snapshot" = "true"; } { type = "zfs_filesystem"; diff --git a/tests/zfs.nix b/tests/zfs.nix index e0c8fab..ebc6b04 100644 --- a/tests/zfs.nix +++ b/tests/zfs.nix @@ -5,6 +5,23 @@ makeDiskoTest { disko-config = import ../example/zfs.nix; extraTestScript = '' machine.succeed("test -b /dev/zvol/zroot/zfs_testvolume"); + + def assert_property(ds, property, expected_value): + out = machine.succeed(f"zfs get -H {property} {ds} -o value").rstrip() + assert ( + out == expected_value + ), f"Expected {property}={expected_value} on {ds}, got: {out}" + + assert_property("zroot", "compression", "lz4") + assert_property("zroot/zfs_fs", "compression", "lz4") + assert_property("zroot", "com.sun:auto-snapshot", "false") + assert_property("zroot/zfs_fs", "com.sun:auto-snapshot", "true") + assert_property("zroot/zfs_testvolume", "volsize", "10M") + + # FIXME: we cannot mount rootfs yet + #machine.succeed("mountpoint /mnt"); + machine.succeed("mountpoint /mnt/zfs_fs"); + machine.succeed("mountpoint /mnt/zfs_legacy_fs"); machine.succeed("mountpoint /mnt/ext4onzfs"); ''; }