Rework the testing script.
[tatoo.git] / tools / do_tatoo.sh
diff --git a/tools/do_tatoo.sh b/tools/do_tatoo.sh
new file mode 100755 (executable)
index 0000000..d1eea03
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+TESTPROG="./tatoo.native"
+VERSION="$(git log -1 --oneline | cut -f1 -d ' ' 2>/dev/null)"
+if [ -z "$VERSION" ]
+then
+    SUFFIX=tatoo
+else
+    SUFFIX=tatoo_"$VERSION"
+fi
+
+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"
+then
+   usage;
+   exit 1
+fi
+
+
+mkdir -p "$RESULTS"
+
+cat "$QUERIES" | grep -v '^#' | while read qname q
+do
+    echo -n "Testing $qname: $q ... "
+    "$TESTPROG" "$FILE" "$q" > "$RESULTS"/"$qname"_"$SUFFIX".xml  2> "$RESULTS"/"$qname"_"$SUFFIX".log
+    echo "ok"
+done