diff options
author | Silvan Mosberger <contact@infinisil.com> | 2020-01-10 04:11:53 +0100 |
---|---|---|
committer | Silvan Mosberger <contact@infinisil.com> | 2020-01-10 04:13:28 +0100 |
commit | 2955e6bd260f0b65a859a4a76ce532528afc5275 (patch) | |
tree | 0cca6fcbf7bf0cea02693430ebe0b0f024571453 /lib/tests | |
parent | e0ea5f4d9ba5d8553fcadde487b57e6dbd1ff746 (diff) |
lib/tests: Add test case for imports from derivations
Diffstat (limited to 'lib/tests')
-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 2997fb1ada1b..79d90670fb53 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 000000000000..64e7ec2e388c --- /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 + ]; + +} |