From 98df735b5149bc1e39ce6b0bae13fbf7cebcdc05 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 9 Feb 2005 12:57:13 +0000 Subject: * Propagate the deriver of a path through the substitute mechanism. * Removed some dead code (successor stuff) from nix-push. * Updated terminology in the tests (store expr -> drv path). * Check that the deriver is set properly in the tests. --- tests/build-hook.sh | 6 +++--- tests/dependencies.sh | 12 ++++++++---- tests/fallback.sh | 10 +++++----- tests/gc-concurrent.sh | 14 +++++++------- tests/gc.sh | 6 +++--- tests/locking.sh | 8 ++++---- tests/nix-pull.sh | 4 ++++ tests/parallel.sh | 6 +++--- tests/simple.sh | 6 +++--- tests/substitutes.sh | 10 +++++----- tests/substitutes2.sh | 10 +++++----- 11 files changed, 50 insertions(+), 42 deletions(-) (limited to 'tests') diff --git a/tests/build-hook.sh b/tests/build-hook.sh index 402ed83c96..f11cd15b8b 100644 --- a/tests/build-hook.sh +++ b/tests/build-hook.sh @@ -1,10 +1,10 @@ export NIX_BUILD_HOOK="build-hook.hook.sh" -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate build-hook.nix) +drvPath=$($TOP/src/nix-instantiate/nix-instantiate build-hook.nix) -echo "store expr is $storeExpr" +echo "derivation is $drvPath" -outPath=$($TOP/src/nix-store/nix-store -quf "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -quf "$drvPath") echo "output path is $outPath" diff --git a/tests/dependencies.sh b/tests/dependencies.sh index 56cb1e4c38..87f0682ac4 100644 --- a/tests/dependencies.sh +++ b/tests/dependencies.sh @@ -1,15 +1,15 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix) +drvPath=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix) -echo "store expr is $storeExpr" +echo "derivation is $drvPath" -outPath=$($TOP/src/nix-store/nix-store -rvv "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -rvv "$drvPath") echo "output path is $outPath" text=$(cat "$outPath"/foobar) if test "$text" != "FOOBAR"; then exit 1; fi -deps=$($TOP/src/nix-store/nix-store -quR "$storeExpr") +deps=$($TOP/src/nix-store/nix-store -quR "$drvPath") echo "output closure contains $deps" @@ -24,3 +24,7 @@ input2OutPath=$(echo "$deps" | grep "dependencies-input-2") # The referers closure of input-2 should include outPath. $TOP/src/nix-store/nix-store -q --referers-closure "$input2OutPath" | grep "$outPath" + +# Check that the derivers are set properly. +test $($TOP/src/nix-store/nix-store -q --deriver "$outPath") = "$drvPath" +$TOP/src/nix-store/nix-store -q --deriver "$input2OutPath" | grep -q -- "-input-2.drv" diff --git a/tests/fallback.sh b/tests/fallback.sh index ac4370c61b..24e5784100 100644 --- a/tests/fallback.sh +++ b/tests/fallback.sh @@ -1,14 +1,14 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate fallback.nix) -echo "store expr is $storeExpr" +drvPath=$($TOP/src/nix-instantiate/nix-instantiate fallback.nix) +echo "derivation is $drvPath" -outPath=$($TOP/src/nix-store/nix-store -q --fallback "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -q --fallback "$drvPath") echo "output path is $outPath" # Register a non-existant substitute -(echo $outPath && echo $TOP/no-such-program && echo 0 && echo 0) | $TOP/src/nix-store/nix-store --substitute +(echo $outPath && echo "" && echo $TOP/no-such-program && echo 0 && echo 0) | $TOP/src/nix-store/nix-store --substitute # Build the derivation -$TOP/src/nix-store/nix-store -r --fallback "$storeExpr" +$TOP/src/nix-store/nix-store -r --fallback "$drvPath" text=$(cat "$outPath"/hello) if test "$text" != "Hello World!"; then exit 1; fi diff --git a/tests/gc-concurrent.sh b/tests/gc-concurrent.sh index b3fb06535d..8cc24565dc 100644 --- a/tests/gc-concurrent.sh +++ b/tests/gc-concurrent.sh @@ -1,17 +1,17 @@ -storeExpr1=$($TOP/src/nix-instantiate/nix-instantiate gc-concurrent.nix) -outPath1=$($TOP/src/nix-store/nix-store -q $storeExpr1) +drvPath1=$($TOP/src/nix-instantiate/nix-instantiate gc-concurrent.nix) +outPath1=$($TOP/src/nix-store/nix-store -q $drvPath1) -storeExpr2=$($TOP/src/nix-instantiate/nix-instantiate gc-concurrent2.nix) -outPath2=$($TOP/src/nix-store/nix-store -q $storeExpr2) +drvPath2=$($TOP/src/nix-instantiate/nix-instantiate gc-concurrent2.nix) +outPath2=$($TOP/src/nix-store/nix-store -q $drvPath2) -ln -s $storeExpr2 "$NIX_STATE_DIR"/gcroots/foo2 +ln -s $drvPath2 "$NIX_STATE_DIR"/gcroots/foo2 # Start build #1 in the background. It starts immediately. -$TOP/src/nix-store/nix-store -rvv "$storeExpr1" & +$TOP/src/nix-store/nix-store -rvv "$drvPath1" & pid1=$! # Start build #2 in the background after 3 seconds. -(sleep 3 && $TOP/src/nix-store/nix-store -rvv "$storeExpr2") & +(sleep 3 && $TOP/src/nix-store/nix-store -rvv "$drvPath2") & pid2=$! # Run the garbage collector while the build is running. Note: the GC diff --git a/tests/gc.sh b/tests/gc.sh index e45e35a8c9..9fe0068b38 100644 --- a/tests/gc.sh +++ b/tests/gc.sh @@ -1,5 +1,5 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix) -outPath=$($TOP/src/nix-store/nix-store -rvv "$storeExpr") +drvPath=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix) +outPath=$($TOP/src/nix-store/nix-store -rvv "$drvPath") # Set a GC root. ln -s $outPath "$NIX_STATE_DIR"/gcroots/foo @@ -11,4 +11,4 @@ cat $outPath/foobar cat $outPath/input-2/bar # Check that the derivation has been GC'd. -if cat $storeExpr > /dev/null; then false; fi +if cat $drvPath > /dev/null; then false; fi diff --git a/tests/locking.sh b/tests/locking.sh index 5cafa2910e..eeac569b81 100644 --- a/tests/locking.sh +++ b/tests/locking.sh @@ -1,15 +1,15 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate locking.nix) +drvPath=$($TOP/src/nix-instantiate/nix-instantiate locking.nix) -echo "store expr is $storeExpr" +echo "derivation is $drvPath" for i in 1 2 3 4 5; do echo "WORKER $i" - $TOP/src/nix-store/nix-store -rvv "$storeExpr" & + $TOP/src/nix-store/nix-store -rvv "$drvPath" & done sleep 5 -outPath=$($TOP/src/nix-store/nix-store -qvvf "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -qvvf "$drvPath") echo "output path is $outPath" diff --git a/tests/nix-pull.sh b/tests/nix-pull.sh index 9a17f5bf60..b4a5e33711 100644 --- a/tests/nix-pull.sh +++ b/tests/nix-pull.sh @@ -31,3 +31,7 @@ echo "building $drvPath using substitutes..." $TOP/src/nix-store/nix-store -r $drvPath cat $outPath/input-2/bar + +# Check that the derivers are set properly. +test $($TOP/src/nix-store/nix-store -q --deriver "$outPath") = "$drvPath" +$TOP/src/nix-store/nix-store -q --deriver $(readlink $outPath/input-2) | grep -q -- "-input-2.drv" diff --git a/tests/parallel.sh b/tests/parallel.sh index 0044aaea60..0cc4ea9c34 100644 --- a/tests/parallel.sh +++ b/tests/parallel.sh @@ -1,8 +1,8 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate parallel.nix) +drvPath=$($TOP/src/nix-instantiate/nix-instantiate parallel.nix) -echo "store expr is $storeExpr" +echo "derivation is $drvPath" -outPath=$($TOP/src/nix-store/nix-store -qfvv -j10000 "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -qfvv -j10000 "$drvPath") echo "output path is $outPath" diff --git a/tests/simple.sh b/tests/simple.sh index a5435a53bd..996ef4e78f 100644 --- a/tests/simple.sh +++ b/tests/simple.sh @@ -1,8 +1,8 @@ -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate simple.nix) +drvPath=$($TOP/src/nix-instantiate/nix-instantiate simple.nix) -echo "store expr is $storeExpr" +echo "derivation is $drvPath" -outPath=$($TOP/src/nix-store/nix-store -rvv "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -rvv "$drvPath") echo "output path is $outPath" diff --git a/tests/substitutes.sh b/tests/substitutes.sh index 061f5f32af..cfc3fa71a1 100644 --- a/tests/substitutes.sh +++ b/tests/substitutes.sh @@ -1,20 +1,20 @@ # Instantiate. -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate substitutes.nix) -echo "store expr is $storeExpr" +drvPath=$($TOP/src/nix-instantiate/nix-instantiate substitutes.nix) +echo "derivation is $drvPath" # Find the output path. -outPath=$($TOP/src/nix-store/nix-store -qvv "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -qvv "$drvPath") echo "output path is $outPath" regSub() { - (echo $1 && echo $2 && echo 3 && echo $outPath && echo Hallo && echo Wereld && echo 0) | $TOP/src/nix-store/nix-store --substitute + (echo $1 && echo "" && echo $2 && echo 3 && echo $outPath && echo Hallo && echo Wereld && echo 0) | $TOP/src/nix-store/nix-store --substitute } # Register a substitute for the output path. regSub $outPath $(pwd)/substituter.sh -$TOP/src/nix-store/nix-store -rvv "$storeExpr" +$TOP/src/nix-store/nix-store -rvv "$drvPath" text=$(cat "$outPath"/hello) if test "$text" != "Hallo Wereld"; then exit 1; fi diff --git a/tests/substitutes2.sh b/tests/substitutes2.sh index e48e12a8f4..1a7b848ca3 100644 --- a/tests/substitutes2.sh +++ b/tests/substitutes2.sh @@ -1,13 +1,13 @@ # Instantiate. -storeExpr=$($TOP/src/nix-instantiate/nix-instantiate substitutes2.nix) -echo "store expr is $storeExpr" +drvPath=$($TOP/src/nix-instantiate/nix-instantiate substitutes2.nix) +echo "derivation is $drvPath" # Find the output path. -outPath=$($TOP/src/nix-store/nix-store -qvvvvv "$storeExpr") +outPath=$($TOP/src/nix-store/nix-store -qvvvvv "$drvPath") echo "output path is $outPath" regSub() { - (echo $1 && echo $2 && echo 3 && echo $outPath && echo Hallo && echo Wereld && echo 0) | $TOP/src/nix-store/nix-store --substitute + (echo $1 && echo "" && echo $2 && echo 3 && echo $outPath && echo Hallo && echo Wereld && echo 0) | $TOP/src/nix-store/nix-store --substitute } # Register a substitute for the output path. @@ -17,7 +17,7 @@ regSub $outPath $(pwd)/substituter.sh # precedence over the previous one. It will fail. regSub $outPath $(pwd)/substituter2.sh -$TOP/src/nix-store/nix-store -rvv "$storeExpr" +$TOP/src/nix-store/nix-store -rvv "$drvPath" text=$(cat "$outPath"/hello) if test "$text" != "Hallo Wereld"; then exit 1; fi -- cgit 1.4.1