about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/multiple-outputs.nix11
-rw-r--r--tests/multiple-outputs.sh11
2 files changed, 22 insertions, 0 deletions
diff --git a/tests/multiple-outputs.nix b/tests/multiple-outputs.nix
index a4cf0caea476..7be96703d677 100644
--- a/tests/multiple-outputs.nix
+++ b/tests/multiple-outputs.nix
@@ -32,4 +32,15 @@ rec {
       '';
   };
 
+  cyclic = (mkDerivation {
+    name = "cyclic-outputs";
+    outputs = [ "a" "b" ];
+    builder = builtins.toFile "builder.sh"
+      ''
+        mkdir $a $b
+        echo $a > $b/foo
+        echo $b > $a/bar
+      '';
+  }).a;
+
 }
diff --git a/tests/multiple-outputs.sh b/tests/multiple-outputs.sh
index dadd2e25f6b6..d4185c55bcc8 100644
--- a/tests/multiple-outputs.sh
+++ b/tests/multiple-outputs.sh
@@ -5,3 +5,14 @@ echo "Testing multiple outputs..."
 outPath=$(nix-build multiple-outputs.nix -A b)
 echo "output path is $outPath"
 [ "$(cat "$outPath"/file)" = "success" ]
+
+# Make sure that nix-build works on derivations with multiple outputs.
+nix-build multiple-outputs.nix -A a.first
+
+# Cyclic outputs should be rejected.
+if nix-build multiple-outputs.nix -A cyclic; then
+    echo "Cyclic outputs incorrectly accepted!"
+    exit 1
+fi
+
+clearStore