about summary refs log tree commit diff
path: root/tests/fixed.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/fixed.sh')
-rw-r--r--tests/fixed.sh27
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/fixed.sh b/tests/fixed.sh
index 72038adfce83..9d5de2929b6f 100644
--- a/tests/fixed.sh
+++ b/tests/fixed.sh
@@ -34,3 +34,30 @@ clearStore
 drvs=$($nixinstantiate fixed.nix -A parallelSame)
 echo $drvs
 $nixstore -r $drvs -j2
+
+# Fixed-output derivations with a recursive SHA-256 hash should
+# produce the same path as "nix-store --add".
+echo 'testing sameAsAdd...'
+drv=$($nixinstantiate fixed.nix -A sameAsAdd)
+echo $drv
+out=$($nixstore -r $drv)
+echo $out
+
+# This is what fixed.builder2 produces...
+rm -rf $TEST_ROOT/fixed
+mkdir $TEST_ROOT/fixed
+mkdir $TEST_ROOT/fixed/bla
+echo "Hello World!" > $TEST_ROOT/fixed/foo
+ln -s foo $TEST_ROOT/fixed/bar
+
+out2=$($nixstore --add $TEST_ROOT/fixed)
+echo $out2
+test "$out" = "$out2" || exit 1
+
+out3=$($nixstore --add-fixed --recursive sha256 $TEST_ROOT/fixed)
+echo $out3
+test "$out" = "$out3" || exit 1
+
+out4=$($nixstore --print-fixed-path --recursive sha256 "1ixr6yd3297ciyp9im522dfxpqbkhcw0pylkb2aab915278fqaik" fixed)
+echo $out4
+test "$out" = "$out4" || exit 1