aboutsummaryrefslogtreecommitdiff
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 a4cf0caea..7be96703d 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 dadd2e25f..d4185c55b 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