about summary refs log tree commit diff
path: root/tests/multiple-outputs.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/multiple-outputs.sh')
-rw-r--r--tests/multiple-outputs.sh20
1 files changed, 19 insertions, 1 deletions
diff --git a/tests/multiple-outputs.sh b/tests/multiple-outputs.sh
index 8a7ae22364c4..aa328fdbc689 100644
--- a/tests/multiple-outputs.sh
+++ b/tests/multiple-outputs.sh
@@ -1,18 +1,36 @@
 source common.sh
 
-echo "Testing multiple outputs..."
+clearStore
 
+# Test whether read-only evaluation works when referring to the
+# ‘drvPath’ attribute.
+echo "evaluating c..."
+drvPath=$(nix-instantiate multiple-outputs.nix -A c --readonly-mode)
+
+# And check whether the resulting derivation explicitly depends on all
+# outputs.
+drvPath2=$(nix-instantiate multiple-outputs.nix -A c)
+[ "$drvPath" = "$drvPath2" ]
+grep -q 'multiple-outputs-a.drv",\["first","second"\]' $drvPath
+grep -q 'multiple-outputs-b.drv",\["out"\]' $drvPath
+
+# Do a build of something that depends on a derivation with multiple
+# outputs.
+echo "building b..."
 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.
+echo "building a.first..."
 nix-build multiple-outputs.nix -A a.first
 
 # Cyclic outputs should be rejected.
+echo "building cyclic..."
 if nix-build multiple-outputs.nix -A cyclic; then
     echo "Cyclic outputs incorrectly accepted!"
     exit 1
 fi
 
+echo "collecting garbage..."
 nix-store --gc