From 25460b6f25911a46662f38d7161bea414b5b10f4 Mon Sep 17 00:00:00 2001 From: Thomas Bonfort Date: Wed, 12 Sep 2012 23:56:53 +0200 Subject: [PATCH] show diffs on summary output --- runtests.sh | 48 +++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/runtests.sh b/runtests.sh index d12395f3f3..eab0e77bf1 100755 --- a/runtests.sh +++ b/runtests.sh @@ -2,19 +2,49 @@ ret=0 -#for testcase in misc gdal renderers wxs; do -for testcase in gdal ; do - logfile="/tmp/logfile-$testcase.log" - exec > >(tee $logfile) - exec 2>&1 +tests=( misc gdal renderers wxs ) +tests=( wxs ) +for testcase in "${tests[@]}" ; do cd msautotest/$testcase - ./run_test.py class16_range.map + ./run_test.py - grep -q "^0 tests failed" $logfile - RETVAL=$? - [ $RETVAL -ne 0 ] && ret=1 cd ../.. done +#tests failed, provide a summary +echo "" +echo " Test run summary " +echo "################################" +for testcase in "${tests[@]}"; do + cd msautotest/$testcase + echo "" + if [ ! -d result ]; then + #"result" directory does not exist, all tests passed + cd ../.. + echo "$testcase: PASS" + continue + fi + cd result + #leftover .aux.xml files are valid for some gdal tests + failedtests=`find . ! -name '*.aux.xml' -type f -printf "%f\n" ` + if [ -z "$failedtests" ]; then + cd ../../.. + echo "$testcase: PASS" + continue + fi + #we have some failing tests + ret=1 + echo "!!!!! $testcase: FAIL !!!!!" + echo "failing tests:" + for failedtest in $failedtests; do + echo $failedtest + #for gml and xml files, print a diff + if echo "$failedtest" | egrep -q "(xml|gml)$"; then + diff -u "../expected/$failedtest" "$failedtest" + fi + done + cd ../../.. +done + exit $ret