diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/tests/modules.sh | 5 | ||||
-rw-r--r-- | lib/tests/modules/import-from-store.nix | 17 |
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 2997fb1ada1b6..79d90670fb53f 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -12,7 +12,7 @@ evalConfig() { local attr=$1 shift; local script="import ./default.nix { modules = [ $@ ];}" - nix-instantiate --timeout 1 -E "$script" -A "$attr" --eval-only --show-trace + nix-instantiate --timeout 1 -E "$script" -A "$attr" --eval-only --show-trace --read-write-mode } reportFailure() { @@ -183,6 +183,9 @@ checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-foo checkConfigOutput "true" config.enable ./disable-recursive/{main.nix,disable-bar.nix} checkConfigError 'The option .* defined in .* does not exist' config.enable ./disable-recursive/{main.nix,disable-foo.nix,disable-bar.nix} +# Check that imports can depend on derivations +checkConfigOutput "true" config.enable ./import-from-store.nix + cat <<EOF ====== module tests ====== $pass Pass diff --git a/lib/tests/modules/import-from-store.nix b/lib/tests/modules/import-from-store.nix new file mode 100644 index 0000000000000..64e7ec2e388c9 --- /dev/null +++ b/lib/tests/modules/import-from-store.nix @@ -0,0 +1,17 @@ +{ lib, ... }: +let + drv = derivation { + name = "derivation"; + system = builtins.currentSystem; + builder = "/bin/sh"; + args = [ "-c" "echo {} > $out" ]; + }; +in { + + imports = [ + "${drv}" + ./declare-enable.nix + ./define-enable.nix + ]; + +} |