diff options
Diffstat (limited to 'crawl-ref/source/util/pcre/RunTest')
-rw-r--r-- | crawl-ref/source/util/pcre/RunTest | 285 |
1 files changed, 0 insertions, 285 deletions
diff --git a/crawl-ref/source/util/pcre/RunTest b/crawl-ref/source/util/pcre/RunTest deleted file mode 100644 index 5ae334a05e..0000000000 --- a/crawl-ref/source/util/pcre/RunTest +++ /dev/null @@ -1,285 +0,0 @@ -#! /bin/sh - -# Run PCRE tests. - -valgrind= - -# Set up a suitable "diff" command for comparison. Some systems -# have a diff that lacks a -u option. Try to deal with this. - -if diff -u /dev/null /dev/null; then cf="diff -u"; else cf="diff"; fi - -# Find the test data - -testdata=testdata -if [ -n "$srcdir" -a -d "$srcdir" ] ; then - testdata="$srcdir/testdata" -fi - -# Find which optional facilities are available - -case `./pcretest -C | ./pcregrep 'Internal link size'` in - *2) link_size=2;; - *3) link_size=3;; - *4) link_size=4;; - *) echo "Failed to find internal link size"; exit 1;; -esac - -./pcretest -C | ./pcregrep 'No UTF-8 support' >/dev/null -utf8=$? - -./pcretest -C | ./pcregrep 'No Unicode properties support' >/dev/null -ucp=$? - -# Select which tests to run; for those that are explicitly requested, check -# that the necessary optional facilities are available. - -do1=no -do2=no -do3=no -do4=no -do5=no -do6=no -do7=no -do8=no -do9=no -do10=no - -while [ $# -gt 0 ] ; do - case $1 in - 1) do1=yes;; - 2) do2=yes;; - 3) do3=yes;; - 4) do4=yes;; - 5) do5=yes;; - 6) do6=yes;; - 7) do7=yes;; - 8) do8=yes;; - 9) do9=yes;; - 10) do10=yes;; - valgrind) valgrind="valgrind -q";; - *) echo "Unknown test number $1"; exit 1;; - esac - shift -done - -if [ $utf8 -eq 0 ] ; then - if [ $do4 = yes ] ; then - echo "Can't run test 4 because UTF-8 support is not configured" - exit 1 - fi - if [ $do5 = yes ] ; then - echo "Can't run test 5 because UTF-8 support is not configured" - exit 1 - fi - if [ $do8 = yes ] ; then - echo "Can't run test 8 because UTF-8 support is not configured" - exit 1 - fi -fi - -if [ $ucp -eq 0 ] ; then - if [ $do6 = yes ] ; 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" - exit 1 - fi - if [ $do10 = yes ] ; then - echo "Can't run test 10 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" - exit 1 - fi -fi - -# If no specific tests were requested, select all that are relevant. - -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 ] ; then - do1=yes - do2=yes - do3=yes - if [ $utf8 -ne 0 ] ; then do4=yes; fi - if [ $utf8 -ne 0 ] ; then do5=yes; fi - if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do6=yes; fi - do7=yes - if [ $utf8 -ne 0 ] ; then do8=yes; fi - if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do9=yes; fi - if [ $link_size -eq 2 -a $ucp -ne 0 ] ; then do10=yes; fi -fi - -# Show which release - -echo "" -echo PCRE C library tests -./pcretest /dev/null - -# Primary test, Perl-compatible - -if [ $do1 = yes ] ; then - echo "Test 1: main functionality (Perl compatible)" - $valgrind ./pcretest -q $testdata/testinput1 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput1 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -# PCRE tests that are not Perl-compatible - API & error tests, mostly - -if [ $do2 = yes ] ; then - echo "Test 2: API and error handling (not Perl compatible)" - $valgrind ./pcretest -q $testdata/testinput2 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput2 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -# Locale-specific tests, provided that either the "fr_FR" or the "french" -# locale is available. The former is the Unix-like standard; the latter is -# for Windows. - -if [ $do3 = yes ] ; then - locale -a | grep '^fr_FR$' >/dev/null - if [ $? -eq 0 ] ; then - locale=fr_FR - infile=$testdata/testinput3 - outfile=$testdata/testoutput3 - else - locale -a | grep '^french$' >/dev/null - if [ $? -eq 0 ] ; then - locale=french - sed 's/fr_FR/french/' $testdata/testinput3 >test3input - sed 's/fr_FR/french/' $testdata/testoutput3 >test3output - infile=test3input - outfile=test3output - else - locale= - fi - fi - - if [ "$locale" != "" ] ; then - echo "Test 3: locale-specific features (using '$locale' locale)" - $valgrind ./pcretest -q $infile testtry - if [ $? = 0 ] ; then - $cf $outfile testtry - if [ $? != 0 ] ; then - echo " " - echo "Locale test did not run entirely successfully." - echo "This usually means that there is a problem with the locale" - echo "settings rather than a bug in PCRE." - else - echo "OK" - fi - else exit 1 - fi - else - echo "Cannot test locale-specific features - neither the 'fr_FR' nor the" - echo "'french' locale exists, or the \"locale\" command is not available" - echo "to check for them." - echo " " - fi -fi - -# Additional tests for UTF8 support - -if [ $do4 = yes ] ; then - echo "Test 4: UTF-8 support (Perl compatible)" - $valgrind ./pcretest -q $testdata/testinput4 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput4 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -if [ $do5 = yes ] ; then - echo "Test 5: API and internals for UTF-8 support (not Perl compatible)" - $valgrind ./pcretest -q $testdata/testinput5 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput5 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -if [ $do6 = yes ] ; then - echo "Test 6: Unicode property support" - $valgrind ./pcretest -q $testdata/testinput6 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput6 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -# Tests for DFA matching support - -if [ $do7 = yes ] ; then - echo "Test 7: DFA matching" - $valgrind ./pcretest -q -dfa $testdata/testinput7 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput7 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -if [ $do8 = yes ] ; then - echo "Test 8: DFA matching with UTF-8" - $valgrind ./pcretest -q -dfa $testdata/testinput8 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput8 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -if [ $do9 = yes ] ; then - echo "Test 9: DFA matching with Unicode properties" - $valgrind ./pcretest -q -dfa $testdata/testinput9 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput9 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -# Test of internal offsets and code sizes. This test is run only when there -# 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. - -if [ $do10 = yes ] ; then - echo "Test 10: Internal offsets and code size tests" - $valgrind ./pcretest -q $testdata/testinput10 testtry - if [ $? = 0 ] ; then - $cf $testdata/testoutput10 testtry - if [ $? != 0 ] ; then exit 1; fi - else exit 1 - fi - echo "OK" -fi - -# End |