summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtest/solver.sh14
1 files changed, 9 insertions, 5 deletions
diff --git a/test/solver.sh b/test/solver.sh
index aa9ffc5..8c27d8f 100755
--- a/test/solver.sh
+++ b/test/solver.sh
@@ -1,16 +1,21 @@
#!/bin/sh
+get_block() {
+ awk '/^@'$1'/{p=1;next} /^@/{p=0} p{print}'
+}
+
APK_TEST=../src/apk-test
+TEST_TO_RUN="$@"
fail=0
pass=0
-for test in *.test; do
- awk '/^@ARGS/{p=1;next} /^@/{p=0} p{print}' < $test | xargs $APK_TEST &> .$test.got
+for test in ${TEST_TO_RUN:-*.test}; do
+ get_block ARGS < $test | xargs $APK_TEST &> .$test.got
- if ! awk '/^@EXPECT/{p=1;next} /^@/{p=0} p{print}' < $test | cmp .$test.got &> /dev/null; then
+ if ! get_block EXPECT < $test | cmp .$test.got &> /dev/null; then
fail=$((fail+1))
echo "FAIL: $test"
- awk '/^@EXPECT/{p=1;next} /^@/{p=0} p{print}' < $test | diff -ru - .$test.got
+ get_block EXPECT < $test | diff -ru - .$test.got
else
pass=$((pass+1))
fi
@@ -24,4 +29,3 @@ else
fi
exit $fail
-