zfs: add tests for hooks

Note that we currently need to hardcode the pool name as it isn't
exposed correctly for the subshells atm.
This commit is contained in:
phaer 2023-04-10 22:52:44 +02:00
parent 8891df7029
commit 9da50f9b9f
2 changed files with 7 additions and 3 deletions

View file

@ -64,6 +64,7 @@
"com.sun:auto-snapshot" = "false";
};
mountpoint = "/";
postCreateHook = "zfs snapshot zroot@blank";
datasets = {
zfs_fs = {
@ -98,6 +99,9 @@
keyformat = "passphrase";
keylocation = "file:///tmp/secret.key";
};
postCreateHook = ''
zfs set keylocation="prompt" "zroot/$name";
'';
};
"encrypted/test" = {
zfs_type = "filesystem";

View file

@ -8,9 +8,6 @@ makeDiskoTest {
fileSystems."/zfs_legacy_fs".options = [ "nofail" ]; # TODO find out why we need this!
boot.zfs.requestEncryptionCredentials = true;
};
postDisko = ''
machine.succeed("zfs set keylocation=prompt zroot/encrypted")
'';
enableOCR = true;
bootCommands = ''
machine.wait_for_text("passphrase for")
@ -32,6 +29,9 @@ makeDiskoTest {
assert_property("zroot/zfs_testvolume", "volsize", "10M")
assert_property("zroot/zfs_unmounted_fs", "mountpoint", "none")
assert_property("zroot/encrypted", "keylocation", "prompt")
machine.succeed("zfs get name zroot@blank")
machine.succeed("mountpoint /zfs_fs");
machine.succeed("mountpoint /zfs_legacy_fs");
machine.succeed("mountpoint /ext4onzfs");