about summary refs log tree commit diff
path: root/tests/multiple-outputs.sh
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-11-24T17·07+0100
committerEelco Dolstra <edolstra@gmail.com>2017-11-24T17·08+0100
commit90948a4e3a64492b7d117d93657221fa7b598e6e (patch)
treed339dad0dd12db1132d3484a6cad199c13a78b82 /tests/multiple-outputs.sh
parent0fc3e581e0585e377d4b42e343b0487606add547 (diff)
nix-shell/nix-build: Support .drv files again
Fixes #1663.

Also handle '!<output-name>' (#1694).
Diffstat (limited to 'tests/multiple-outputs.sh')
-rw-r--r--tests/multiple-outputs.sh15
1 files changed, 14 insertions, 1 deletions
diff --git a/tests/multiple-outputs.sh b/tests/multiple-outputs.sh
index ced6d758f4af..bedbc39a4ebf 100644
--- a/tests/multiple-outputs.sh
+++ b/tests/multiple-outputs.sh
@@ -2,6 +2,8 @@ source common.sh
 
 clearStore
 
+rm -f $TEST_ROOT/result*
+
 # Test whether read-only evaluation works when referring to the
 # ‘drvPath’ attribute.
 echo "evaluating c..."
@@ -28,7 +30,7 @@ echo "output path is $outPath"
 [ "$(cat "$outPath"/file)" = "success" ]
 
 # Test nix-build on a derivation with multiple outputs.
-nix-build multiple-outputs.nix -A a -o $TEST_ROOT/result
+outPath1=$(nix-build multiple-outputs.nix -A a -o $TEST_ROOT/result)
 [ -e $TEST_ROOT/result-first ]
 (! [ -e $TEST_ROOT/result-second ])
 nix-build multiple-outputs.nix -A a.all -o $TEST_ROOT/result
@@ -37,6 +39,17 @@ nix-build multiple-outputs.nix -A a.all -o $TEST_ROOT/result
 [ "$(cat $TEST_ROOT/result-second/link/file)" = "first" ]
 hash1=$(nix-store -q --hash $TEST_ROOT/result-second)
 
+outPath2=$(nix-build $(nix-instantiate multiple-outputs.nix -A a) --no-out-link)
+[[ $outPath1 = $outPath2 ]]
+
+outPath2=$(nix-build $(nix-instantiate multiple-outputs.nix -A a.first) --no-out-link)
+[[ $outPath1 = $outPath2 ]]
+
+outPath2=$(nix-build $(nix-instantiate multiple-outputs.nix -A a.second) --no-out-link)
+[[ $(cat $outPath2/file) = second ]]
+
+[[ $(nix-build $(nix-instantiate multiple-outputs.nix -A a.all) --no-out-link | wc -l) -eq 2 ]]
+
 # Delete one of the outputs and rebuild it.  This will cause a hash
 # rewrite.
 nix-store --delete $TEST_ROOT/result-second --ignore-liveness