X-Git-Url: http://git.nguyen.vg/gitweb/?p=tatoo.git;a=blobdiff_plain;f=tools%2Fdo_test.sh;fp=tools%2Fdo_test.sh;h=05163b86898c043dad2f34ca2e345663577dc701;hp=0000000000000000000000000000000000000000;hb=80478f0eb936f38e0512371fc7a300cdc32775c5;hpb=37e8a9fe5d5f1f430ced3aa65daf572d330d3398 diff --git a/tools/do_test.sh b/tools/do_test.sh new file mode 100755 index 0000000..05163b8 --- /dev/null +++ b/tools/do_test.sh @@ -0,0 +1,44 @@ +#!/bin/sh + +TESTPROG="../main.native" + +usage() { + echo "error: missing input, query file, xml_diff or $TESTPROG" + echo "usage: $0 file.xml" +} + +FILE="$1" +RESULTS="$FILE".results +QUERIES="$FILE".queries + +if test ! -f "$FILE" -o ! -f "$QUERIES" -o ! -f "$TESTPROG" -o ! -f xml_diff +then + usage; + exit 1 +fi + + +mkdir -p "$RESULTS" + +cat "$QUERIES" | grep -v '^#' | ( TOTAL=0; TESTS=0; +while read qname q +do + TOTAL=$(($TOTAL + 1)) + echo -n "Testing $qname: $q ... " + "$TESTROG" "$FILE" "$q" > "$RESULTS"/"$qname"_test.xml 2> "$RESULTS"/"$qname"_test.log + ./xml_diff "$RESULTS"/"$qname"_test.xml "$RESULTS"/"$qname".xml 2>> "$RESULTS"/"$qname"_test.log + case "$?" in + 0) + TESTS=$(($TESTS + 1)) + echo ok + ;; + *) + echo failed + echo ------- output ----------- + cat "$RESULTS"/"$qname"_test.log + echo -------------------------- + ;; + esac +done; +echo "Summary: $TESTS/$TOTAL tests successfull" +)