summary refs log tree commit diff
diff options
context:
space:
mode:
authorSilvan Mosberger <contact@infinisil.com>2020-01-10 04:11:53 +0100
committerSilvan Mosberger <contact@infinisil.com>2020-01-10 04:13:28 +0100
commit2955e6bd260f0b65a859a4a76ce532528afc5275 (patch)
tree0cca6fcbf7bf0cea02693430ebe0b0f024571453
parente0ea5f4d9ba5d8553fcadde487b57e6dbd1ff746 (diff)
downloadnixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar.gz
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar.bz2
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar.lz
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar.xz
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.tar.zst
nixpkgs-2955e6bd260f0b65a859a4a76ce532528afc5275.zip
lib/tests: Add test case for imports from derivations
-rwxr-xr-xlib/tests/modules.sh5
-rw-r--r--lib/tests/modules/import-from-store.nix17
2 files changed, 21 insertions, 1 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 2997fb1ada1..79d90670fb5 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 00000000000..64e7ec2e388
--- /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
+  ];
+
+}