summaryrefslogtreecommitdiff
path: root/RunTest
diff options
context:
space:
mode:
authorph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2011-12-28 17:16:11 +0000
committerph10 <ph10@2f5784b3-3f2a-0410-8824-cb99058d5e15>2011-12-28 17:16:11 +0000
commit5e8b286b566d7ec502b80892e5b709025631d58c (patch)
treec8a6c83ad13e79a9b64718b784fe0126764d98b7 /RunTest
parenta29cc4dc66d82b59de7616c53517c58271e6e0e8 (diff)
downloadpcre-5e8b286b566d7ec502b80892e5b709025631d58c.tar.gz
Merging all the changes from the pcre16 branch into the trunk.
git-svn-id: svn://vcs.exim.org/pcre/code/trunk@836 2f5784b3-3f2a-0410-8824-cb99058d5e15
Diffstat (limited to 'RunTest')
-rwxr-xr-xRunTest439
1 files changed, 322 insertions, 117 deletions
diff --git a/RunTest b/RunTest
index 3a5a9db..d595549 100755
--- a/RunTest
+++ b/RunTest
@@ -18,7 +18,10 @@
# two tests for JIT-specific features, one to be run when JIT support is
# available, and one when it is not.
-# The arguments for this script can be individual test numbers, or the word
+# Whichever of the 8-bit and 16-bit libraries exist are tested. It is also
+# possible to select which to test by the arguments -8 or -16.
+
+# Other arguments for this script can be individual test numbers, or the word
# "valgrind", or "sim" followed by an argument to run cross-compiled
# executables under a simulator, for example:
#
@@ -26,6 +29,8 @@
valgrind=
sim=
+arg8=
+arg16=
# Select which tests to run; for those that are explicitly requested, check
# that the necessary optional facilities are available.
@@ -45,6 +50,11 @@ do12=no
do13=no
do14=no
do15=no
+do16=no
+do17=no
+do18=no
+do19=no
+do20=no
while [ $# -gt 0 ] ; do
case $1 in
@@ -63,6 +73,13 @@ while [ $# -gt 0 ] ; do
13) do13=yes;;
14) do14=yes;;
15) do15=yes;;
+ 16) do16=yes;;
+ 17) do17=yes;;
+ 18) do18=yes;;
+ 19) do19=yes;;
+ 20) do20=yes;;
+ -8) arg8=yes;;
+ -16) arg16=yes;;
valgrind) valgrind="valgrind -q --smc-check=all";;
sim) shift; sim=$1;;
*) echo "Unknown test number $1"; exit 1;;
@@ -93,44 +110,87 @@ fi
# strips only linefeeds from the output of a `backquoted` command. Hence the
# alternative patterns.
-case `$sim ./pcretest -C | $sim ./pcregrep 'Internal link size'` in
- *2|*2[[:space:]]) link_size=2;;
- *3|*3[[:space:]]) link_size=3;;
- *4|*4[[:space:]]) link_size=4;;
- *) echo "Failed to find internal link size"; exit 1;;
-esac
+$sim ./pcretest -C linksize >/dev/null
+link_size=$?
+if [ $link_size -lt 2 ] ; then
+ echo "Failed to find internal link size"
+ exit 1
+fi
+if [ $link_size -gt 4 ] ; then
+ echo "Failed to find internal link size"
+ exit 1
+fi
-$sim ./pcretest -C | $sim ./pcregrep 'No UTF-8 support' >/dev/null
-utf8=$?
+# Both 8-bit and 16-bit character strings may be supported, but only one
+# need be.
+
+$sim ./pcretest -C pcre8 >/dev/null
+support8=$?
+$sim ./pcretest -C pcre16 >/dev/null
+support16=$?
+if [ $(( $support8 + $support16 )) -eq 2 ] ; then
+ test8=
+ test16=-16
+ if [ "$arg8" = yes -a "$arg16" != yes ] ; then
+ test16=skip
+ fi
+ if [ "$arg16" = yes -a "$arg8" != yes ] ; then
+ test8=skip
+ fi
+else
+ if [ $support8 -ne 0 ] ; then
+ if [ "$arg16" = yes ] ; then
+ echo "Cannot run 16-bit library tests: 16-bit library not compiled"
+ exit 1
+ fi
+ test8=
+ test16=skip
+ else
+ if [ "$arg8" = yes ] ; then
+ echo "Cannot run 8-bit library tests: 8-bit library not compiled"
+ exit 1
+ fi
+ test8=skip
+ test16=-16
+ fi
+fi
+
+# UTF support always applies to both bit sizes if both are supported; we can't
+# have UTF-8 support without UTF-16 support (for example).
-$sim ./pcretest -C | $sim ./pcregrep 'No Unicode properties support' >/dev/null
+$sim ./pcretest -C utf >/dev/null
+utf=$?
+
+$sim ./pcretest -C ucp >/dev/null
ucp=$?
jitopt=
-$sim ./pcretest -C | $sim ./pcregrep 'No just-in-time compiler support' \
- >/dev/null
+$sim ./pcretest -C jit >/dev/null
jit=$?
if [ $jit -ne 0 ] ; then
jitopt=-s+
fi
-if [ $utf8 -eq 0 ] ; then
+if [ $utf -eq 0 ] ; then
if [ $do4 = yes ] ; then
- echo "Can't run test 4 because UTF-8 support is not configured"
+ echo "Can't run test 4 because UTF support is not configured"
exit 1
fi
if [ $do5 = yes ] ; then
- echo "Can't run test 5 because UTF-8 support is not configured"
+ echo "Can't run test 5 because UTF support is not configured"
exit 1
fi
- if [ $do8 = yes ] ; then
- echo "Can't run test 8 because UTF-8 support is not configured"
+ if [ $do9 = yes ] ; then
+ echo "Can't run test 8 because UTF support is not configured"
exit 1
fi
- if [ $do12 = yes ] ; then
- echo "Can't run test 12 because UTF-8 support is not configured"
+ if [ $do15 = yes ] ; then
+ echo "Can't run test 15 because UTF support is not configured"
exit 1
fi
+ if [ $do18 = yes ] ; then
+ echo "Can't run test 18 because UTF support is not configured"
+ fi
fi
if [ $ucp -eq 0 ] ; then
@@ -138,35 +198,39 @@ if [ $ucp -eq 0 ] ; then
echo "Can't run test 6 because Unicode property support is not configured"
exit 1
fi
- if [ $do9 = yes ] ; then
- echo "Can't run test 9 because Unicode property support is not configured"
+ if [ $do7 = yes ] ; then
+ echo "Can't run test 7 because Unicode property support is not configured"
exit 1
fi
if [ $do10 = yes ] ; then
echo "Can't run test 10 because Unicode property support is not configured"
exit 1
fi
- if [ $do13 = yes ] ; then
- echo "Can't run test 12 because Unicode property support is not configured"
+ if [ $do16 = yes ] ; then
+ echo "Can't run test 16 because Unicode property support is not configured"
+ exit 1
+ fi
+ if [ $do19 = yes ] ; then
+ echo "Can't run test 19 because Unicode property support is not configured"
exit 1
fi
fi
if [ $link_size -ne 2 ] ; then
- if [ $do10 = yes ] ; then
- echo "Can't run test 10 because the link size ($link_size) is not 2"
+ if [ $do11 = yes ] ; then
+ echo "Can't run test 11 because the link size ($link_size) is not 2"
exit 1
fi
fi
if [ $jit -eq 0 ] ; then
- if [ $do14 = "yes" ] ; then
- echo "Can't run test 14 because JIT support is not configured"
+ if [ $do12 = "yes" ] ; then
+ echo "Can't run test 12 because JIT support is not configured"
exit 1
fi
else
- if [ $do15 = "yes" ] ; then
- echo "Can't run test 15 because JIT support is configured"
+ if [ $do13 = "yes" ] ; then
+ echo "Can't run test 13 because JIT support is configured"
exit 1
fi
fi
@@ -177,7 +241,8 @@ fi
if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a \
$do5 = no -a $do6 = no -a $do7 = no -a $do8 = no -a \
$do9 = no -a $do10 = no -a $do11 = no -a $do12 = no -a \
- $do13 = no -a $do14 = no -a $do15 = no ] ; then
+ $do13 = no -a $do14 = no -a $do15 = no -a $do16 = no -a \
+ $do17 = no -a $do18 = no -a $do19 = no -a $do20 = no ] ; then
do1=yes
do2=yes
do3=yes
@@ -193,6 +258,11 @@ if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a \
do13=yes
do14=yes
do15=yes
+ do16=yes
+ do17=yes
+ do18=yes
+ do19=yes
+ do20=yes
fi
# Show which release and which test data
@@ -201,12 +271,20 @@ echo ""
echo PCRE C library tests using test data from $testdata
$sim ./pcretest /dev/null
+for bmode in "$test8" "$test16"; do
+ case "$bmode" in
+ skip) continue;;
+ -16) if [ "$test8" != "skip" ] ; then echo ""; fi
+ bits=16; echo "---- Testing 16-bit library ----"; echo "";;
+ *) bits=8; echo "---- Testing 8-bit library ----"; echo "";;
+ esac
+
# Primary test, compatible with JIT and all versions of Perl >= 5.8
if [ $do1 = yes ] ; then
- echo "Test 1: main functionality (Compatible with Perl >= 5.8)"
+ echo "Test 1: main functionality (Compatible with Perl >= 5.10)"
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput1 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput1 testtry
if [ $? = 0 ] ; then
$cf $testdata/testoutput1 testtry
if [ $? != 0 ] ; then exit 1; fi
@@ -222,9 +300,9 @@ fi
# PCRE tests that are not JIT or Perl-compatible: API, errors, internals
if [ $do2 = yes ] ; then
- echo "Test 2: API, errors, internals, and non-Perl stuff"
+ echo "Test 2: API, errors, internals, and non-Perl stuff (not UTF-$bits)"
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput2 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput2 testtry
if [ $? = 0 ] ; then
$cf $testdata/testoutput2 testtry
if [ $? != 0 ] ; then exit 1; fi
@@ -278,7 +356,7 @@ if [ $do3 = yes ] ; then
if [ "$locale" != "" ] ; then
echo "Test 3: locale-specific features (using '$locale' locale)"
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $infile testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $infile testtry
if [ $? = 0 ] ; then
$cf $outfile testtry
if [ $? != 0 ] ; then
@@ -304,15 +382,15 @@ if [ $do3 = yes ] ; then
fi
fi
-# Additional tests for UTF8 support
+# Additional tests for UTF support
if [ $do4 = yes ] ; then
- echo "Test 4: UTF-8 support (Compatible with Perl >= 5.8)"
- if [ $utf8 -eq 0 ] ; then
- echo " Skipped because UTF-8 support is not available"
+ echo "Test 4: UTF-$bits support (Compatible with Perl >= 5.10)"
+ if [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
else
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput4 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput4 testtry
if [ $? = 0 ] ; then
$cf $testdata/testoutput4 testtry
if [ $? != 0 ] ; then exit 1; fi
@@ -327,12 +405,12 @@ if [ $do4 = yes ] ; then
fi
if [ $do5 = yes ] ; then
- echo "Test 5: API, internals, and non-Perl stuff for UTF-8 support"
- if [ $utf8 -eq 0 ] ; then
- echo " Skipped because UTF-8 support is not available"
+ echo "Test 5: API, internals, and non-Perl stuff for UTF-$bits support"
+ if [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
else
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput5 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput5 testtry
if [ $? = 0 ] ; then
$cf $testdata/testoutput5 testtry
if [ $? != 0 ] ; then exit 1; fi
@@ -348,11 +426,11 @@ fi
if [ $do6 = yes ] ; then
echo "Test 6: Unicode property support (Compatible with Perl >= 5.10)"
- if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
+ if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
echo " Skipped because Unicode property support is not available"
else
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput6 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput6 testtry
if [ $? = 0 ] ; then
$cf $testdata/testoutput6 testtry
if [ $? != 0 ] ; then exit 1; fi
@@ -366,14 +444,36 @@ if [ $do6 = yes ] ; then
fi
fi
-# Tests for DFA matching support
+# Test non-Perl-compatible Unicode property support
if [ $do7 = yes ] ; then
- echo "Test 7: DFA matching"
+ echo "Test 7: API, internals, and non-Perl stuff for Unicode property support"
+ if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
+ echo " Skipped because Unicode property support is not available"
+ else
+ for opt in "" "-s" $jitopt; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput7 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput7 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
+ else echo " OK"
+ fi
+ done
+ fi
+fi
+
+# Tests for DFA matching support
+
+if [ $do8 = yes ] ; then
+ echo "Test 8: DFA matching main functionality"
for opt in "" "-s"; do
- $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput7 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput8 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput7 testtry
+ $cf $testdata/testoutput8 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -381,15 +481,15 @@ if [ $do7 = yes ] ; then
done
fi
-if [ $do8 = yes ] ; then
- echo "Test 8: DFA matching with UTF-8"
- if [ $utf8 -eq 0 ] ; then
- echo " Skipped because UTF-8 support is not available"
+if [ $do9 = yes ] ; then
+ echo "Test 9: DFA matching with UTF-$bits"
+ if [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
else
for opt in "" "-s"; do
- $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput8 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput9 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput8 testtry
+ $cf $testdata/testoutput9 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -398,15 +498,15 @@ if [ $do8 = yes ] ; then
fi
fi
-if [ $do9 = yes ] ; then
- echo "Test 9: DFA matching with Unicode properties"
- if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
+if [ $do10 = yes ] ; then
+ echo "Test 10: DFA matching with Unicode properties"
+ if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
echo " Skipped because Unicode property support is not available"
else
for opt in "" "-s"; do
- $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput9 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput10 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput9 testtry
+ $cf $testdata/testoutput10 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -419,19 +519,20 @@ fi
# is Unicode property support and the link size is 2. The actual tests are
# mostly the same as in some of the above, but in this test we inspect some
# offsets and sizes that require a known link size. This is a doublecheck for
-# the maintainer, just in case something changes unexpectely.
+# the maintainer, just in case something changes unexpectely. The output from
+# this test is not the same in 8-bit and 16-bit modes.
-if [ $do10 = yes ] ; then
- echo "Test 10: Internal offsets and code size tests"
+if [ $do11 = yes ] ; then
+ echo "Test 11: Internal offsets and code size tests"
if [ $link_size -ne 2 ] ; then
echo " Skipped because link size is not 2"
elif [ $ucp -eq 0 ] ; then
echo " Skipped because Unicode property support is not available"
else
for opt in "" "-s"; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput10 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput11 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput10 testtry
+ $cf $testdata/testoutput11-$bits testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -440,35 +541,53 @@ if [ $do10 = yes ] ; then
fi
fi
-# Test of Perl >= 5.10 features without UTF8 support
+# Test JIT-specific features when JIT is available
-if [ $do11 = yes ] ; then
- echo "Test 11: Features from Perl >= 5.10 without UTF8 support"
- for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput11 testtry
+if [ $do12 = yes ] ; then
+ echo "Test 12: JIT-specific features (JIT available)"
+ if [ $jit -eq 0 ] ; then
+ echo " Skipped because JIT is not available or not usable"
+ else
+ $sim $valgrind ./pcretest -q $bmode $testdata/testinput12 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput11 testtry
+ $cf $testdata/testoutput12 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
- if [ "$opt" = "-s" ] ; then echo " OK with study"
- elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
- else echo " OK"
- fi
- done
+ echo " OK"
+ fi
fi
-# Test of Perl >= 5.10 features with UTF8 support
+# Test JIT-specific features when JIT is not available
-if [ $do12 = yes ] ; then
- echo "Test 12: Features from Perl >= 5.10 with UTF8 support"
- if [ $utf8 -eq 0 ] ; then
- echo " Skipped because UTF-8 support is not available"
+if [ $do13 = yes ] ; then
+ echo "Test 13: JIT-specific features (JIT not available)"
+ if [ $jit -ne 0 ] ; then
+ echo " Skipped because JIT is available"
else
+ $sim $valgrind ./pcretest -q $bmode $testdata/testinput13 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput13 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ echo " OK"
+ fi
+fi
+
+# Tests for 8-bit-specific features
+
+if [ "$do14" = yes ] ; then
+ echo "Test 14: specials for the basic 8-bit library"
+ if [ "$bits" = "16" ] ; then
+ echo " Skipped when running 16-bit tests"
+ elif [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
+ else
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput12 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput14 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput12 testtry
+ $cf $testdata/testoutput14 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -480,17 +599,43 @@ if [ $do12 = yes ] ; then
fi
fi
-# Test non-Perl-compatible Unicode property support
+# Tests for 8-bit-specific features (needs UTF-8 support)
-if [ $do13 = yes ] ; then
- echo "Test 13: API, internals, and non-Perl stuff for Unicode property support"
- if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
+if [ "$do15" = yes ] ; then
+ echo "Test 15: specials for the 8-bit library with UTF-8 support"
+ if [ "$bits" = "16" ] ; then
+ echo " Skipped when running 16-bit tests"
+ elif [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
+ else
+ for opt in "" "-s" $jitopt; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput15 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput15 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
+ else echo " OK"
+ fi
+ done
+ fi
+fi
+
+# Tests for 8-bit-specific features (Unicode property support)
+
+if [ $do16 = yes ] ; then
+ echo "Test 16: specials for the 8-bit library with Unicode propery support"
+ if [ "$bits" = "16" ] ; then
+ echo " Skipped when running 16-bit tests"
+ elif [ $ucp -eq 0 ] ; then
echo " Skipped because Unicode property support is not available"
- else
+ else
for opt in "" "-s" $jitopt; do
- $sim $valgrind ./pcretest -q $opt $testdata/testinput13 testtry
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput16 testtry
if [ $? = 0 ] ; then
- $cf $testdata/testoutput13 testtry
+ $cf $testdata/testoutput16 testtry
if [ $? != 0 ] ; then exit 1; fi
else exit 1
fi
@@ -502,38 +647,98 @@ if [ $do13 = yes ] ; then
fi
fi
-# Test JIT-specific features when JIT is available
+# Tests for 16-bit-specific features
-if [ $do14 = yes ] ; then
- echo "Test 14: JIT-specific features (JIT available)"
- if [ $jit -eq 0 ] ; then
- echo " Skipped because JIT is not available or not usable"
- else
- $sim $valgrind ./pcretest -q $testdata/testinput14 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput14 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+if [ $do17 = yes ] ; then
+ echo "Test 17: specials for the basic 16-bit library"
+ if [ "$bits" = "8" ] ; then
+ echo " Skipped when running 8-bit tests"
+ else
+ for opt in "" "-s" $jitopt; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput17 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput17 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
+ else echo " OK"
+ fi
+ done
fi
fi
-# Test JIT-specific features when JIT is not available
+# Tests for 16-bit-specific features (UTF-16 support)
-if [ $do15 = yes ] ; then
- echo "Test 15: JIT-specific features (JIT not available)"
- if [ $jit -ne 0 ] ; then
- echo " Skipped because JIT is available"
- else
- $sim $valgrind ./pcretest -q $testdata/testinput15 testtry
- if [ $? = 0 ] ; then
- $cf $testdata/testoutput15 testtry
- if [ $? != 0 ] ; then exit 1; fi
- else exit 1
- fi
- echo " OK"
+if [ $do18 = yes ] ; then
+ echo "Test 18: specials for the 16-bit library with UTF-16 support"
+ if [ "$bits" = "8" ] ; then
+ echo " Skipped when running 8-bit tests"
+ elif [ $utf -eq 0 ] ; then
+ echo " Skipped because UTF-$bits support is not available"
+ else
+ for opt in "" "-s" $jitopt; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput18 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput18 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
+ else echo " OK"
+ fi
+ done
fi
fi
+# Tests for 16-bit-specific features (Unicode property support)
+
+if [ $do19 = yes ] ; then
+ echo "Test 19: specials for the 16-bit library with Unicode propery support"
+ if [ "$bits" = "8" ] ; then
+ echo " Skipped when running 8-bit tests"
+ elif [ $ucp -eq 0 ] ; then
+ echo " Skipped because Unicode property support is not available"
+ else
+ for opt in "" "-s" $jitopt; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput19 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput19 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ elif [ "$opt" = "-s+" ] ; then echo " OK with JIT study"
+ else echo " OK"
+ fi
+ done
+ fi
+fi
+
+# Tests for 16-bit-specific features in DFA non-UTF-16 mode
+
+if [ $do20 = yes ] ; then
+ echo "Test 20: DFA specials for the basic 16-bit library"
+ if [ "$bits" = "8" ] ; then
+ echo " Skipped when running 8-bit tests"
+ else
+ for opt in "" "-s"; do
+ $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput20 testtry
+ if [ $? = 0 ] ; then
+ $cf $testdata/testoutput20 testtry
+ if [ $? != 0 ] ; then exit 1; fi
+ else exit 1
+ fi
+ if [ "$opt" = "-s" ] ; then echo " OK with study"
+ else echo " OK"
+ fi
+ done
+ fi
+fi
+
+# End of loop for 8-bit/16-bit tests
+done
+
# End