+#!/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"
+)