05163b86898c043dad2f34ca2e345663577dc701
[tatoo.git] / tools / do_test.sh
1 #!/bin/sh
2
3 TESTPROG="../main.native"
4
5 usage() {
6     echo "error: missing input, query file, xml_diff or $TESTPROG"
7     echo "usage: $0 file.xml"
8 }
9
10 FILE="$1"
11 RESULTS="$FILE".results
12 QUERIES="$FILE".queries
13
14 if test ! -f "$FILE" -o ! -f "$QUERIES" -o ! -f "$TESTPROG" -o ! -f xml_diff
15 then
16    usage;
17    exit 1
18 fi
19
20
21 mkdir -p "$RESULTS"
22
23 cat "$QUERIES" | grep -v '^#' | ( TOTAL=0; TESTS=0;
24 while read qname q
25 do
26     TOTAL=$(($TOTAL + 1))
27     echo -n "Testing $qname: $q ... "
28     "$TESTROG" "$FILE" "$q" > "$RESULTS"/"$qname"_test.xml 2> "$RESULTS"/"$qname"_test.log
29     ./xml_diff "$RESULTS"/"$qname"_test.xml "$RESULTS"/"$qname".xml 2>> "$RESULTS"/"$qname"_test.log
30     case "$?" in
31         0)
32             TESTS=$(($TESTS + 1))
33             echo ok
34             ;;
35         *)
36             echo failed
37             echo ------- output -----------
38             cat "$RESULTS"/"$qname"_test.log
39             echo --------------------------
40             ;;
41     esac
42 done;
43 echo "Summary: $TESTS/$TOTAL tests successfull"
44 )