diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/multiple-outputs.nix | 11 | ||||
-rw-r--r-- | tests/multiple-outputs.sh | 11 |
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 |