diff options
author | Someone Serge <sergei.kozlukov@aalto.fi> | 2023-11-11 14:02:54 +0000 |
---|---|---|
committer | Someone Serge <sergei.kozlukov@aalto.fi> | 2024-06-26 00:35:43 +0000 |
commit | 5560f6a5141d9bcc6c3e0ac2e30c714874c1e076 (patch) | |
tree | ba547ebc081474069135147691abf1f4abd469d3 /nixos/tests/nix-required-mounts | |
parent | 7418e4fefd622eb1d1709353aa842e136896d70f (diff) |
nix-required-mounts: guest and host paths may differ
Diffstat (limited to 'nixos/tests/nix-required-mounts')
-rw-r--r-- | nixos/tests/nix-required-mounts/default.nix | 13 | ||||
-rw-r--r-- | nixos/tests/nix-required-mounts/test-require-feature.nix | 10 |
2 files changed, 18 insertions, 5 deletions
diff --git a/nixos/tests/nix-required-mounts/default.nix b/nixos/tests/nix-required-mounts/default.nix index 4550e6ac50a22..38f94bf6fd989 100644 --- a/nixos/tests/nix-required-mounts/default.nix +++ b/nixos/tests/nix-required-mounts/default.nix @@ -19,10 +19,19 @@ in programs.nix-required-mounts.enable = true; programs.nix-required-mounts.allowedPatterns.supported-feature = { onFeatures = [ "supported-feature" ]; - paths = [ "/supported-feature-files" ]; + paths = [ + "/supported-feature-files" + { + host = "/usr/lib/imaginary-fhs-drivers"; + guest = "/run/opengl-driver/lib"; + } + ]; }; users.users.person.isNormalUser = true; - virtualisation.fileSystems."/supported-feature-files".fsType = "tmpfs"; + systemd.tmpfiles.rules = [ + "d /supported-feature-files 0755 person users -" + "f /usr/lib/imaginary-fhs-drivers/libcuda.so 0444 root root -" + ]; }; testScript = '' import shlex diff --git a/nixos/tests/nix-required-mounts/test-require-feature.nix b/nixos/tests/nix-required-mounts/test-require-feature.nix index ddfd068b87fc4..061b59e1628af 100644 --- a/nixos/tests/nix-required-mounts/test-require-feature.nix +++ b/nixos/tests/nix-required-mounts/test-require-feature.nix @@ -4,9 +4,13 @@ pkgs.runCommandNoCC "${feature}-present" { requiredSystemFeatures = [ feature ]; } '' - if [[ -e /${feature}-files ]]; then - touch $out - else + if [[ ! -e /${feature}-files ]]; then echo "The host declares ${feature} support, but doesn't expose /${feature}-files" >&2 + exit 1 fi + if [[ ! -f /run/opengl-driver/lib/libcuda.so ]] ; then + echo "The host declares ${feature} support, but it the hook fails to handle the hostPath != guestPath cases" >&2 + exit 1 + fi + touch $out '' |