about summary refs log tree commit diff
path: root/tests/substituter2.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/substituter2.sh')
-rwxr-xr-xtests/substituter2.sh26
1 files changed, 18 insertions, 8 deletions
diff --git a/tests/substituter2.sh b/tests/substituter2.sh
index 1bcf65a54d..401e7b7bef 100755
--- a/tests/substituter2.sh
+++ b/tests/substituter2.sh
@@ -1,14 +1,24 @@
 #! /bin/sh -e
 echo substituter2 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
+        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
     exit 1