guix/tests/substitutes2.sh
Eelco Dolstra 98df735b51 * 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.
2005-02-09 12:57:13 +00:00

23 lines
758 B
Bash

# Instantiate.
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 "$drvPath")
echo "output path is $outPath"
regSub() {
(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
# Register another substitute for the output path. This one takes
# precedence over the previous one. It will fail.
regSub $outPath $(pwd)/substituter2.sh
$TOP/src/nix-store/nix-store -rvv "$drvPath"
text=$(cat "$outPath"/hello)
if test "$text" != "Hallo Wereld"; then exit 1; fi