diff options
author | Someone Serge <sergei.kozlukov@aalto.fi> | 2023-10-19 11:42:26 +0300 |
---|---|---|
committer | Someone Serge <sergei.kozlukov@aalto.fi> | 2024-06-26 00:35:43 +0000 |
commit | 6662b099419d568a7d682e5b851f7f51b34cd589 (patch) | |
tree | 9d47dcc8161b8efbb427089f7480b71e2f7be229 /nixos/tests/nix-required-mounts | |
parent | 6859a2dabc356bc0d575e98c46a215fd83d31fb7 (diff) |
nix-required-mounts: handle __structuredAttrs
Diffstat (limited to 'nixos/tests/nix-required-mounts')
3 files changed, 29 insertions, 1 deletions
diff --git a/nixos/tests/nix-required-mounts/default.nix b/nixos/tests/nix-required-mounts/default.nix index ee6f7db5ee986..4550e6ac50a22 100644 --- a/nixos/tests/nix-required-mounts/default.nix +++ b/nixos/tests/nix-required-mounts/default.nix @@ -14,7 +14,8 @@ in system.extraDependencies = [ (pkgs.runCommand "deps" { } "mkdir $out").inputDerivation ]; nix.nixPath = [ "nixpkgs=${../../..}" ]; nix.settings.substituters = lib.mkForce [ ]; - nix.settings.system-features = [ "supported-feature" ]; nix.settings.experimental-features = [ "nix-command" ]; + nix.settings.system-features = [ "supported-feature" ]; + nix.settings.experimental-features = [ "nix-command" ]; programs.nix-required-mounts.enable = true; programs.nix-required-mounts.allowedPatterns.supported-feature = { onFeatures = [ "supported-feature" ]; @@ -40,5 +41,7 @@ in person_do("nix-build ${./ensure-path-not-present.nix} --argstr feature supported-feature") person_do("nix-build ${./test-require-feature.nix} --argstr feature supported-feature") person_do("nix-build ${./test-require-feature.nix} --argstr feature unsupported-feature", succeed=False) + person_do("nix-build ${./test-structured-attrs.nix} --argstr feature supported-feature") + person_do("nix-build ${./test-structured-attrs-empty.nix}") ''; } diff --git a/nixos/tests/nix-required-mounts/test-structured-attrs-empty.nix b/nixos/tests/nix-required-mounts/test-structured-attrs-empty.nix new file mode 100644 index 0000000000000..d788c6773c8e0 --- /dev/null +++ b/nixos/tests/nix-required-mounts/test-structured-attrs-empty.nix @@ -0,0 +1,10 @@ +{ pkgs ? import <nixpkgs> { } }: + +pkgs.runCommandNoCC "nix-required-mounts-structured-attrs-no-features" +{ + __structuredAttrs = true; +} '' + touch $out +'' + + diff --git a/nixos/tests/nix-required-mounts/test-structured-attrs.nix b/nixos/tests/nix-required-mounts/test-structured-attrs.nix new file mode 100644 index 0000000000000..fecd2c32eec0d --- /dev/null +++ b/nixos/tests/nix-required-mounts/test-structured-attrs.nix @@ -0,0 +1,15 @@ +{ pkgs ? import <nixpkgs> { }, feature }: + +pkgs.runCommandNoCC "${feature}-present-structured" +{ + __structuredAttrs = true; + requiredSystemFeatures = [ feature ]; +} '' + if [[ -e /${feature}-files ]]; then + touch $out + else + echo "The host declares ${feature} support, but doesn't expose /${feature}-files" >&2 + echo "Do we fail to parse __structuredAttrs=true derivations?" >&2 + fi +'' + |