From 3c92ea399d717dc45b3fa91424c0dadc0239ebf2 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Sat, 2 Aug 2008 12:54:35 +0000 Subject: * 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. --- tests/substituter.sh | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) (limited to 'tests/substituter.sh') diff --git a/tests/substituter.sh b/tests/substituter.sh index 96fb95b91f6b..b244b30e83a8 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 -- cgit 1.4.1