apk-tools/test/solver.sh

32 lines
604 B
Bash
Executable File

#!/bin/sh
get_block() {
awk '/^@'$1'/{p=1;next} /^@/{p=0} p{print}'
}
APK_TEST="$VALGRIND ../src/apk-test"
TEST_TO_RUN="$@"
fail=0
pass=0
for test in ${TEST_TO_RUN:-*.test}; do
get_block ARGS < $test | xargs $APK_TEST > .$test.got 2>&1
if ! get_block EXPECT < $test | cmp .$test.got > /dev/null 2>&1; then
fail=$((fail+1))
echo "FAIL: $test"
get_block EXPECT < $test | diff -ru - .$test.got
else
pass=$((pass+1))
fi
done
total=$((fail+pass))
if [ "$fail" != "0" ]; then
echo "FAIL: $fail of $total test cases failed"
else
echo "OK: all $total solver test cases passed"
fi
exit $fail