From 6733babef61a4e4dc18eca834577b6359f0a1345 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Kim=20Nguy=E1=BB=85n?= Date: Thu, 14 Mar 2013 08:20:05 +0100 Subject: [PATCH] Rework the testing script. Rename the main program. --- main.itarget | 2 +- src/{main.ml => tatoo.ml} | 0 tools/{gen_test.sh => do_jaxp.sh} | 2 +- tools/do_tatoo.sh | 35 +++++++++++++++++++++++ tools/do_test.sh | 46 ------------------------------- tools/gen_test_results.sh | 35 +++++++++++++++++++++++ 6 files changed, 72 insertions(+), 48 deletions(-) rename src/{main.ml => tatoo.ml} (100%) rename tools/{gen_test.sh => do_jaxp.sh} (89%) create mode 100755 tools/do_tatoo.sh delete mode 100755 tools/do_test.sh create mode 100755 tools/gen_test_results.sh diff --git a/main.itarget b/main.itarget index d11e542..6c7372b 100644 --- a/main.itarget +++ b/main.itarget @@ -1,4 +1,4 @@ -src/main.native +src/tatoo.native tools/xml_diff.native tools/XPathEval.class diff --git a/src/main.ml b/src/tatoo.ml similarity index 100% rename from src/main.ml rename to src/tatoo.ml diff --git a/tools/gen_test.sh b/tools/do_jaxp.sh similarity index 89% rename from tools/gen_test.sh rename to tools/do_jaxp.sh index 1c9ce12..7208ae1 100755 --- a/tools/gen_test.sh +++ b/tools/do_jaxp.sh @@ -21,5 +21,5 @@ mkdir -p "$RESULTS" cat "$QUERIES" | grep -v '^#' | while read qname q do echo "Computing $q" - java -cp _build/tools XPathEval "$FILE" "$q" > "$RESULTS"/"$qname".xml 2> "$RESULTS"/"$qname".log + java -cp _build/tools XPathEval "$FILE" "$q" > "$RESULTS"/"$qname"_jaxp.xml 2> "$RESULTS"/"$qname"_jaxp.log done diff --git a/tools/do_tatoo.sh b/tools/do_tatoo.sh new file mode 100755 index 0000000..d1eea03 --- /dev/null +++ b/tools/do_tatoo.sh @@ -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 diff --git a/tools/do_test.sh b/tools/do_test.sh deleted file mode 100755 index 64748f4..0000000 --- a/tools/do_test.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/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.native -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 ... " - "$TESTPROG" "$FILE" "$q" > "$RESULTS"/"$qname"_test.xml 2> "$RESULTS"/"$qname"_test.log - ./xml_diff.native "$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".xml - # echo ========================== - # cat "$RESULTS"/"$qname"_test.xml - # echo -------------------------- - ;; - esac -done; -echo "Summary: $TESTS/$TOTAL tests successfull" -) diff --git a/tools/gen_test_results.sh b/tools/gen_test_results.sh new file mode 100755 index 0000000..925c1ce --- /dev/null +++ b/tools/gen_test_results.sh @@ -0,0 +1,35 @@ +#!/bin/sh + +PROGS="$@" +for doc in tests/*.xml +do + if [ -f "$doc".queries ] + then + cat "$doc".queries | grep -v '^#' | while read qname q + do + D="" + N="" + echo "$qname" "$q" + for p in $PROGS + do + echo "$p": + cat "$doc".results/"$qname"_"$p".log | grep --color=never time + N="$N_$p" + D="$D $doc".results/"$qname"_"$p".xml + done + echo -n "Diff ... " + ./xml_diff.native $D > "$doc".results/"$qname""$N".diff 2>&1 + case "$?" in + "0") + echo "ok" + ;; + *) + echo "failed" + ;; + esac + echo "-------------------------------------------" + done + fi + + +done -- 2.17.1