Revision: 108
http://www.exim.org/viewvc/pcre2?view=rev&revision=108
Author: ph10
Date: 2014-10-12 17:55:21 +0100 (Sun, 12 Oct 2014)
Log Message:
-----------
Refactoring some of the code in RunTest
Modified Paths:
--------------
code/trunk/RunTest
Modified: code/trunk/RunTest
===================================================================
--- code/trunk/RunTest 2014-10-12 15:45:05 UTC (rev 107)
+++ code/trunk/RunTest 2014-10-12 16:55:21 UTC (rev 108)
@@ -114,6 +114,35 @@
fi
+# ------ Function to check results of a test -------
+
+# This function is called with three parameters:
+#
+# $1 the value of $? after a call to pcre2test
+# $2 the suffix of the output file to compare with
+# $3 the $opt value (empty, -jit, or -dfa)
+
+function checkresult()
+ {
+ if [ $1 -ne 0 ] ; then
+ echo "** pcre2test failed - check testtry"
+ exit 1
+ fi
+ case "$3" in
+ -jit) with=" with JIT";;
+ -dfa) with=" with DFA";;
+ *) with="";;
+ esac
+ $cf $testdata/testoutput$2 testtry
+ if [ $? != 0 ] ; then
+ echo ""
+ echo "** Test $2 failed$with"
+ exit 1
+ fi
+ echo " OK$with"
+ }
+
+
# ------ Special EBCDIC Test -------
if [ $# -eq 1 -a "$1" = "ebcdic" ]; then
@@ -123,19 +152,10 @@
echo "Cannot run EBCDIC tests: EBCDIC support not compiled"
exit 1
fi
-
for opt in "" "-dfa"; do
./pcre2test -q $opt $testdata/testinputEBC >testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutputEBC testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-dfa" ] ; then echo " OK using DFA"
- else echo " OK"
- fi
+ checkresult $? EBC "$opt"
done
-
exit 0
fi
@@ -371,14 +391,7 @@
echo $title1
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput1 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput1 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 1 "$opt"
done
fi
@@ -389,8 +402,7 @@
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput2 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput2 testtry
- if [ $? != 0 ] ; then exit 1; fi
+ checkresult $? 2 "$opt"
else
echo " "
echo "** Test 2 requires a lot of stack. If it has crashed with a"
@@ -400,9 +412,6 @@
echo " "
exit 1
fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
done
fi
@@ -451,15 +460,17 @@
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $infile testtry
if [ $? = 0 ] ; then
+ case "$opt" in
+ -jit) with=" with JIT";;
+ *) with="";;
+ esac
if $cf $outfile testtry >teststdout || \
$cf $outfile2 testtry >teststdout || \
$cf $outfile3 testtry >teststdout
then
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ echo " OK$with"
else
- echo "** Locale test did not run successfully. The output did not match"
+ echo "** Locale test did not run successfully$with. The output did not match"
echo " $outfile, $outfile2 or $outfile3."
echo " This may mean that there is a problem with the locale settings rather"
echo " than a bug in PCRE2."
@@ -485,14 +496,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput4 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput4 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 4 "$opt"
done
fi
fi
@@ -504,14 +508,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput5 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput5 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 5 "$opt"
done
fi
fi
@@ -521,12 +518,7 @@
if [ $do6 = yes ] ; then
echo $title6
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput6 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput6 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 6 ""
fi
if [ $do7 = yes ] ; then
@@ -535,12 +527,7 @@
echo " Skipped because UTF-$bits support is not available"
else
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput7 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput7 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 7 ""
fi
fi
@@ -560,12 +547,7 @@
echo " Skipped because UTF-$bits support is not available"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput8 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput8-$bits testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 8-$bits ""
fi
fi
@@ -578,14 +560,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput9 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput9 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 9 "$opt"
done
fi
fi
@@ -601,14 +576,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput10 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput10 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 10 "$opt"
done
fi
fi
@@ -622,14 +590,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput11 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput11-$bits testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 11-$bits "$opt"
done
fi
fi
@@ -646,14 +607,7 @@
else
for opt in "" $jitopt; do
$sim $valgrind ./pcre2test -q $bmode $opt $testdata/testinput12 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput12-$bits testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- if [ "$opt" = "-jit" ] ; then echo " OK with JIT"
- else echo " OK"
- fi
+ checkresult $? 12-$bits "$opt"
done
fi
fi
@@ -666,12 +620,7 @@
echo " Skipped when running 8-bit tests"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput13 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput13 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 13 ""
fi
fi
@@ -680,12 +629,7 @@
if [ $do14 = yes ] ; then
echo $title14
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput14 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput14 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 14 ""
fi
# Test JIT-specific features when JIT is not available
@@ -696,12 +640,7 @@
echo " Skipped because JIT is available"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput15 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput15 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 15 ""
fi
fi
@@ -713,12 +652,7 @@
echo " Skipped because JIT is not available or not usable"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput16 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput16 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 16 ""
fi
fi
@@ -730,12 +664,7 @@
echo " Skipped when running 16/32-bit tests"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput17 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput17 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 17 ""
fi
fi
@@ -749,12 +678,7 @@
echo " Skipped because UTF-$bits support is not available"
else
$sim $valgrind ./pcre2test -q $bmode $testdata/testinput18 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput18 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+ checkresult $? 18 ""
fi
fi