aboutsummaryrefslogtreecommitdiff
path: root/tests/substituter.sh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2008-08-02 12:54:35 +0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2008-08-02 12:54:35 +0000
commit3c92ea399d717dc45b3fa91424c0dadc0239ebf2 (patch)
tree7cde9f533a6ee575615da5452e04c05dc0939f02 /tests/substituter.sh
parentfc691e1cbdcddb8c553cba06d4089bc1b60e3d98 (diff)
* Make nix-env --dry-run print the paths to be substituted correctly
again. (After the previous substituter mechanism refactoring I didn't update the code that obtains the references of substitutable paths.) This required some refactoring: the substituter programs are now kept running and receive/respond to info requests via stdin/stdout.
Diffstat (limited to 'tests/substituter.sh')
-rwxr-xr-xtests/substituter.sh27
1 files changed, 19 insertions, 8 deletions
diff --git a/tests/substituter.sh b/tests/substituter.sh
index 96fb95b91..b244b30e8 100755
--- a/tests/substituter.sh
+++ b/tests/substituter.sh
@@ -1,14 +1,25 @@
#! /bin/sh -e
echo substituter args: $* >&2
-if test $1 = "--query-paths"; then
- cat $TEST_ROOT/sub-paths
-elif test $1 = "--query-info"; then
- shift
- for i in in $@; do
- echo $i
- echo "" # deriver
- echo 0 # nr of refs
+if test $1 = "--query"; then
+ while read cmd; do
+ echo FOO $cmd >&2
+ if test "$cmd" = "have"; then
+ read path
+ if grep -q "$path" $TEST_ROOT/sub-paths; then
+ echo 1
+ else
+ echo 0
+ fi
+ elif test "$cmd" = "info"; then
+ read path
+ echo 1
+ echo "" # deriver
+ echo 0 # nr of refs
+ else
+ echo "bad command $cmd"
+ exit 1
+ fi
done
elif test $1 = "--substitute"; then
mkdir $2