lz4 compression is excluded because it doesn't work for a reason which remains unclear to me.wip/yesman
parent
d4ef25db5d
commit
3136e49b8e
@ -0,0 +1,35 @@ |
||||
{ system ? builtins.currentSystem |
||||
, config ? {} |
||||
, pkgs ? import ../.. { inherit system config; } |
||||
, lib ? pkgs.lib |
||||
, testing ? import ../lib/testing-python.nix { inherit system pkgs; } |
||||
}: |
||||
let |
||||
secretInStore = pkgs.writeText "topsecret" "iamasecret"; |
||||
testWithCompressor = compressor: testing.makeTest { |
||||
name = "initrd-secrets-${compressor}"; |
||||
|
||||
meta.maintainers = [ lib.maintainers.lheckemann ]; |
||||
|
||||
machine = { ... }: { |
||||
virtualisation.useBootLoader = true; |
||||
boot.initrd.secrets."/test" = secretInStore; |
||||
boot.initrd.postMountCommands = '' |
||||
cp /test /mnt-root/secret-from-initramfs |
||||
''; |
||||
boot.initrd.compressor = compressor; |
||||
# zstd compression is only supported from 5.9 onwards. Remove when 5.10 becomes default. |
||||
boot.kernelPackages = pkgs.linuxPackages_latest; |
||||
}; |
||||
|
||||
testScript = '' |
||||
start_all() |
||||
machine.wait_for_unit("multi-user.target") |
||||
machine.succeed( |
||||
"cmp ${secretInStore} /secret-from-initramfs" |
||||
) |
||||
''; |
||||
}; |
||||
in lib.flip lib.genAttrs testWithCompressor [ |
||||
"cat" "gzip" "bzip2" "xz" "lzma" "lzop" "pigz" "pixz" "zstd" |
||||
] |
Loading…
Reference in new issue