#! /bin/sh # This file is generated by configure from RunTest.in. Make any changes # to that file. # Run PCRE tests cf=diff testdata=@top_srcdir@/testdata # Select which tests to run; if no selection, run all do1=no do2=no do3=no do4=no do5=no do6=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;; *) echo "Unknown test number $1"; exit 1;; esac shift done if [ "@LINK_SIZE@" != "" -a "@LINK_SIZE@" != "-DLINK_SIZE=2" ] ; then if [ $do2 = yes ] ; then echo "Can't run test 2 with an internal link size other than 2" exit 1 fi if [ $do5 = yes ] ; then echo "Can't run test 5 with an internal link size other than 2" exit 1 fi if [ $do6 = yes ] ; then echo "Can't run test 6 with an internal link size other than 2" exit 1 fi fi if [ "@UTF8@" = "" ] ; 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 [ $do6 = yes ] ; then echo "Can't run test 6 because UTF-8 support is not configured" exit 1 fi fi if [ "@UCP@" = "" ] ; then if [ $do6 = yes ] ; then echo "Can't run test 6 because Unicode property support is not configured" exit 1 fi fi if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a \ $do5 = no -a $do6 = no ] ; then do1=yes do2=yes do3=yes if [ "@UTF8@" != "" ] ; then do4=yes; fi if [ "@UTF8@" != "" ] ; then do5=yes; fi if [ "@UTF8@" != "" -a "@UCP@" != "" ] ; then do6=yes; fi fi # Show which release ./pcretest /dev/null # Primary test, Perl-compatible if [ $do1 = yes ] ; then echo "Test 1: main functionality (Perl compatible)" ./pcretest $testdata/testinput1 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput1 if [ $? != 0 ] ; then exit 1; fi echo " " else exit 1 fi fi # PCRE tests that are not Perl-compatible - API & error tests, mostly if [ $do2 = yes ] ; then if [ "@LINK_SIZE@" = "" -o "@LINK_SIZE@" = "-DLINK_SIZE=2" ] ; then echo "Test 2: API and error handling (not Perl compatible)" ./pcretest -i $testdata/testinput2 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput2 if [ $? != 0 ] ; then exit 1; fi else exit 1 fi else echo Test 2 skipped for link size other than 2 \(@LINK_SIZE@\) fi fi if [ $do1 = yes -a $do2 = yes ] ; then echo " " echo "The two main tests ran OK" echo " " fi # Locale-specific tests, provided the "fr_FR" locale is available if [ $do3 = yes ] ; then locale -a | grep '^fr_FR$' >/dev/null if [ $? -eq 0 ] ; then echo "Test 3: locale-specific features (using 'fr_FR' locale)" ./pcretest $testdata/testinput3 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput3 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 "Locale test ran OK" fi echo " " else exit 1 fi else echo "Cannot test locale-specific features - 'fr_FR' locale not found," echo "or the \"locale\" command is not available to check for it." echo " " fi fi # Additional tests for UTF8 support if [ $do4 = yes ] ; then echo "Test 4: UTF-8 support (Perl compatible)" ./pcretest $testdata/testinput4 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput4 if [ $? != 0 ] ; then exit 1; fi else exit 1 fi echo "UTF8 test ran OK" echo " " fi if [ $do5 = yes ] ; then if [ "@LINK_SIZE@" = "" -o "@LINK_SIZE@" = "-DLINK_SIZE=2" ] ; then echo "Test 5: API and internals for UTF-8 support (not Perl compatible)" ./pcretest $testdata/testinput5 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput5 if [ $? != 0 ] ; then exit 1; fi else exit 1 fi echo "UTF8 internals test ran OK" echo " " else echo Test 5 skipped for link size other than 2 \(@LINK_SIZE@\) fi fi if [ $do6 = yes ] ; then if [ "@LINK_SIZE@" = "" -o "@LINK_SIZE@" = "-DLINK_SIZE=2" ] ; then echo "Test 6: Unicode property support" ./pcretest $testdata/testinput6 testtry if [ $? = 0 ] ; then $cf testtry $testdata/testoutput6 if [ $? != 0 ] ; then exit 1; fi else exit 1 fi echo "Unicode properties test ran OK" echo " " else echo Test 6 skipped for link size other than 2 \(@LINK_SIZE@\) fi fi # End