Annotation of embedaddon/pcre/RunTest, revision 1.1.1.4

1.1       misho       1: #! /bin/sh
                      2: 
1.1.1.4 ! misho       3: ###############################################################################
1.1       misho       4: # Run the PCRE tests using the pcretest program. The appropriate tests are
                      5: # selected, depending on which build-time options were used.
1.1.1.4 ! misho       6: #
1.1       misho       7: # All tests are now run both with and without -s, to ensure that everything is
                      8: # tested with and without studying. However, there are some tests that produce
                      9: # different output after studying, typically when we are tracing the actual
                     10: # matching process (for example, using auto-callouts). In these few cases, the
                     11: # tests are duplicated in the files, one with /S to force studying always, and
                     12: # one with /SS to force *not* studying always. The use of -s doesn't then make
                     13: # any difference to their output. There is also one test which compiles invalid
                     14: # UTF-8 with the UTF-8 check turned off; for this, studying must also be
                     15: # disabled with /SS.
1.1.1.4 ! misho      16: #
1.1       misho      17: # When JIT support is available, all the tests are also run with -s+ to test
1.1.1.4 ! misho      18: # (again, almost) everything with studying and the JIT option, unless "nojit"
        !            19: # is given on the command line. There are also two tests for JIT-specific
        !            20: # features, one to be run when JIT support is available (unless "nojit" is
        !            21: # specified), and one when it is not.
        !            22: #
        !            23: # Whichever of the 8-, 16- and 32-bit libraries exist are tested. It is also
        !            24: # possible to select which to test by giving "-8", "-16" or "-32" on the
        !            25: # command line.
        !            26: #
        !            27: # As well as "nojit", "-8", "-16", and "-32", arguments for this script are
        !            28: # individual test numbers, ranges of tests such as 3-6 or 3- (meaning 3 to the
        !            29: # end), or a number preceded by ~ to exclude a test. For example, "3-15 ~10"
        !            30: # runs tests 3 to 15, excluding test 10, and just "~10" runs all the tests
        !            31: # except test 10. Whatever order the arguments are in, the tests are always run
        !            32: # in numerical order.
        !            33: 
        !            34: # Other arguments can be one of the words "valgrind", "valgrind-log", or "sim"
        !            35: # followed by an argument to run cross- compiled executables under a simulator,
        !            36: # for example:
1.1       misho      37: #
                     38: # RunTest 3 sim "qemu-arm -s 8388608"
1.1.1.3   misho      39: #
1.1.1.4 ! misho      40: # There are two special cases where only one argument is allowed:
        !            41: #
        !            42: # If the first and only argument is "ebcdic", the script runs the special
        !            43: # EBCDIC test that can be useful for checking certain EBCDIC features, even
        !            44: # when run in an ASCII environment.
        !            45: #
        !            46: # If the script is obeyed as "RunTest list", a list of available tests is
        !            47: # output, but none of them are run.
        !            48: ###############################################################################
1.1.1.3   misho      49: 
                     50: # Define test titles in variables so that they can be output as a list. Some
                     51: # of them are modified (e.g. with -8 or -16) when used in the actual tests.
                     52: 
                     53: title1="Test 1: Main functionality (Compatible with Perl >= 5.10)"
                     54: title2="Test 2: API, errors, internals, and non-Perl stuff"
                     55: title3="Test 3: Locale-specific features"
                     56: title4A="Test 4: UTF"
                     57: title4B=" support (Compatible with Perl >= 5.10)"
                     58: title5="Test 5: API, internals, and non-Perl stuff for UTF"
                     59: title6="Test 6: Unicode property support (Compatible with Perl >= 5.10)"
                     60: title7="Test 7: API, internals, and non-Perl stuff for Unicode property support"
                     61: title8="Test 8: DFA matching main functionality"
                     62: title9="Test 9: DFA matching with UTF"
                     63: title10="Test 10: DFA matching with Unicode properties"
                     64: title11="Test 11: Internal offsets and code size tests"
                     65: title12="Test 12: JIT-specific features (JIT available)"
                     66: title13="Test 13: JIT-specific features (JIT not available)"
                     67: title14="Test 14: Specials for the basic 8-bit library"
                     68: title15="Test 15: Specials for the 8-bit library with UTF-8 support"
                     69: title16="Test 16: Specials for the 8-bit library with Unicode propery support"
1.1.1.4 ! misho      70: title17="Test 17: Specials for the basic 16/32-bit library"
        !            71: title18="Test 18: Specials for the 16/32-bit library with UTF-16/32 support"
        !            72: title19="Test 19: Specials for the 16/32-bit library with Unicode property support"
        !            73: title20="Test 20: DFA specials for the basic 16/32-bit library"
        !            74: title21="Test 21: Reloads for the basic 16/32-bit library"
        !            75: title22="Test 22: Reloads for the 16/32-bit library with UTF-16/32 support"
        !            76: title23="Test 23: Specials for the 16-bit library"
        !            77: title24="Test 24: Specials for the 16-bit library with UTF-16 support"
        !            78: title25="Test 25: Specials for the 32-bit library"
        !            79: title26="Test 26: Specials for the 32-bit library with UTF-32 support"
        !            80: 
        !            81: maxtest=26
1.1.1.3   misho      82: 
                     83: if [ $# -eq 1 -a "$1" = "list" ]; then
                     84:   echo $title1
                     85:   echo $title2 "(not UTF)"
                     86:   echo $title3
                     87:   echo $title4A $title4B
                     88:   echo $title5 support
                     89:   echo $title6
                     90:   echo $title7
                     91:   echo $title8
                     92:   echo $title9
                     93:   echo $title10
                     94:   echo $title11
                     95:   echo $title12
                     96:   echo $title13
                     97:   echo $title14
                     98:   echo $title15
                     99:   echo $title16
                    100:   echo $title17
                    101:   echo $title18
                    102:   echo $title19
                    103:   echo $title20
                    104:   echo $title21
                    105:   echo $title22
1.1.1.4 ! misho     106:   echo $title23
        !           107:   echo $title24
        !           108:   echo $title25
        !           109:   echo $title26
1.1.1.3   misho     110:   exit 0
                    111: fi
                    112: 
1.1.1.4 ! misho     113: # Set up a suitable "diff" command for comparison. Some systems
        !           114: # have a diff that lacks a -u option. Try to deal with this.
        !           115: 
        !           116: cf="diff"
        !           117: diff -u /dev/null /dev/null 2>/dev/null && cf="diff -u"
        !           118: 
        !           119: # Find the test data
        !           120: 
        !           121: if [ -n "$srcdir" -a -d "$srcdir" ] ; then
        !           122:   testdata="$srcdir/testdata"
        !           123: elif [ -d "./testdata" ] ; then
        !           124:   testdata=./testdata
        !           125: elif [ -d "../testdata" ] ; then
        !           126:   testdata=../testdata
        !           127: else
        !           128:   echo "Cannot find the testdata directory"
        !           129:   exit 1
        !           130: fi
        !           131: 
        !           132: 
        !           133: # ------ Special EBCDIC Test -------
        !           134: 
        !           135: if [ $# -eq 1 -a "$1" = "ebcdic" ]; then
        !           136:   ./pcretest -C ebcdic >/dev/null
        !           137:   ebcdic=$?
        !           138:   if [ $ebcdic -ne 1 ] ; then
        !           139:     echo "Cannot run EBCDIC tests: EBCDIC support not compiled"
        !           140:     exit 1
        !           141:   fi
        !           142: 
        !           143:   for opt in "" "-s" "-dfa" "-s -dfa"; do
        !           144:     ./pcretest -q $opt $testdata/testinputEBC >testtry
        !           145:     if [ $? = 0 ] ; then
        !           146:       $cf $testdata/testoutputEBC testtry
        !           147:       if [ $? != 0 ] ; then exit 1; fi
        !           148:     else exit 1
        !           149:     fi
        !           150:     if [ "$opt" = "-s" ] ; then echo "  OK with study"
        !           151:     elif [ "$opt" = "-dfa" ] ; then echo "  OK using DFA"
        !           152:     elif [ "$opt" = "-s -dfa" ] ; then echo "  OK using DFA with study"
        !           153:     else echo "  OK"
        !           154:     fi
        !           155:   done
        !           156: 
        !           157: exit 0
        !           158: fi
        !           159: 
        !           160: 
        !           161: # ------ Normal Tests ------
        !           162: 
1.1.1.3   misho     163: # Default values
1.1       misho     164: 
1.1.1.2   misho     165: arg8=
                    166: arg16=
1.1.1.4 ! misho     167: arg32=
        !           168: nojit=
        !           169: sim=
        !           170: skip=
        !           171: valgrind=
1.1.1.2   misho     172: 
                    173: # This is in case the caller has set aliases (as I do - PH)
                    174: unset cp ls mv rm
1.1       misho     175: 
1.1.1.4 ! misho     176: # Process options and select which tests to run; for those that are explicitly
        !           177: # requested, check that the necessary optional facilities are available.
1.1       misho     178: 
                    179: do1=no
                    180: do2=no
                    181: do3=no
                    182: do4=no
                    183: do5=no
                    184: do6=no
                    185: do7=no
                    186: do8=no
                    187: do9=no
                    188: do10=no
                    189: do11=no
                    190: do12=no
                    191: do13=no
                    192: do14=no
                    193: do15=no
1.1.1.2   misho     194: do16=no
                    195: do17=no
                    196: do18=no
                    197: do19=no
                    198: do20=no
                    199: do21=no
                    200: do22=no
1.1.1.4 ! misho     201: do23=no
        !           202: do24=no
        !           203: do25=no
        !           204: do26=no
1.1       misho     205: 
                    206: while [ $# -gt 0 ] ; do
                    207:   case $1 in
                    208:     1) do1=yes;;
                    209:     2) do2=yes;;
                    210:     3) do3=yes;;
                    211:     4) do4=yes;;
                    212:     5) do5=yes;;
                    213:     6) do6=yes;;
                    214:     7) do7=yes;;
                    215:     8) do8=yes;;
                    216:     9) do9=yes;;
                    217:    10) do10=yes;;
                    218:    11) do11=yes;;
                    219:    12) do12=yes;;
                    220:    13) do13=yes;;
                    221:    14) do14=yes;;
                    222:    15) do15=yes;;
1.1.1.2   misho     223:    16) do16=yes;;
                    224:    17) do17=yes;;
                    225:    18) do18=yes;;
                    226:    19) do19=yes;;
                    227:    20) do20=yes;;
                    228:    21) do21=yes;;
                    229:    22) do22=yes;;
1.1.1.4 ! misho     230:    23) do23=yes;;
        !           231:    24) do24=yes;;
        !           232:    25) do25=yes;;
        !           233:    26) do26=yes;;
1.1.1.2   misho     234:    -8) arg8=yes;;
                    235:   -16) arg16=yes;;
1.1.1.4 ! misho     236:   -32) arg32=yes;;
        !           237:    nojit) nojit=yes;;
1.1       misho     238:    sim) shift; sim=$1;;
1.1.1.4 ! misho     239:    valgrind) valgrind="valgrind --tool=memcheck -q --smc-check=all";;
        !           240:    valgrind-log) valgrind="valgrind --tool=memcheck --num-callers=30 --leak-check=no --error-limit=no --smc-check=all --log-file=report.%p ";;
        !           241:    ~*)
        !           242:      if expr "$1" : '~[0-9][0-9]*$' >/dev/null; then
        !           243:        skip="$skip `expr "$1" : '~\([0-9]*\)*$'`"
        !           244:      else
        !           245:        echo "Unknown option or test selector '$1'"; exit 1
        !           246:      fi
        !           247:    ;;
        !           248:    *-*)
        !           249:      if expr "$1" : '[0-9][0-9]*-[0-9]*$' >/dev/null; then
        !           250:        tf=`expr "$1" : '\([0-9]*\)'`
        !           251:        tt=`expr "$1" : '.*-\([0-9]*\)'`
        !           252:        if [ "$tt" = "" ] ; then tt=$maxtest; fi
        !           253:        if expr \( "$tf" "<" 1 \) \| \( "$tt" ">" "$maxtest" \) >/dev/null; then
        !           254:          echo "Invalid test range '$1'"; exit 1
        !           255:        fi
        !           256:        while expr "$tf" "<=" "$tt" >/dev/null; do
        !           257:          eval do${tf}=yes
        !           258:          tf=`expr $tf + 1`
        !           259:        done
        !           260:      else
        !           261:        echo "Invalid test range '$1'"; exit 1
        !           262:      fi
        !           263:    ;;
        !           264:    *) echo "Unknown option or test selector '$1'"; exit 1;;
1.1       misho     265:   esac
                    266:   shift
                    267: done
                    268: 
1.1.1.4 ! misho     269: # Find which optional facilities are available.
1.1       misho     270: 
1.1.1.2   misho     271: $sim ./pcretest -C linksize >/dev/null
                    272: link_size=$?
                    273: if [ $link_size -lt 2 ] ; then
                    274:   echo "Failed to find internal link size"
                    275:   exit 1
                    276: fi
                    277: if [ $link_size -gt 4 ] ; then
                    278:   echo "Failed to find internal link size"
                    279:   exit 1
                    280: fi
                    281: 
1.1.1.4 ! misho     282: # All of 8-bit, 16-bit, and 32-bit character strings may be supported, but only
        !           283: # one need be.
1.1.1.2   misho     284: 
                    285: $sim ./pcretest -C pcre8 >/dev/null
                    286: support8=$?
                    287: $sim ./pcretest -C pcre16 >/dev/null
                    288: support16=$?
1.1.1.4 ! misho     289: $sim ./pcretest -C pcre32 >/dev/null
        !           290: support32=$?
        !           291: 
        !           292: # Initialize all bitsizes skipped
        !           293: 
        !           294: test8=skip
        !           295: test16=skip
        !           296: test32=skip
        !           297: 
        !           298: # If no bitsize arguments, select all that are available
        !           299: 
        !           300: if [ "$arg8$arg16$arg32" = "" ] ; then
        !           301:   if [ $support8 -ne 0 ] ; then
        !           302:     test8=
        !           303:   fi
        !           304:   if [ $support16 -ne 0 ] ; then
        !           305:     test16=-16
1.1.1.2   misho     306:   fi
1.1.1.4 ! misho     307:   if [ $support32 -ne 0 ] ; then
        !           308:     test32=-32
1.1.1.2   misho     309:   fi
1.1.1.4 ! misho     310: 
        !           311: # Select requested bit sizes
        !           312: 
1.1.1.2   misho     313: else
1.1.1.4 ! misho     314:   if [ "$arg8" = yes ] ; then
        !           315:     if [ $support8 -eq 0 ] ; then
        !           316:       echo "Cannot run 8-bit library tests: 8-bit library not compiled"
1.1.1.2   misho     317:       exit 1
                    318:     fi
                    319:     test8=
1.1.1.4 ! misho     320:   fi
        !           321:   if [ "$arg16" = yes ] ; then
        !           322:     if [ $support16 -eq 0 ] ; then
        !           323:       echo "Cannot run 16-bit library tests: 16-bit library not compiled"
1.1.1.2   misho     324:       exit 1
                    325:     fi
                    326:     test16=-16
                    327:   fi
1.1.1.4 ! misho     328:   if [ "$arg32" = yes ] ; then
        !           329:     if [ $support32 -eq 0 ] ; then
        !           330:       echo "Cannot run 32-bit library tests: 32-bit library not compiled"
        !           331:       exit 1
        !           332:     fi
        !           333:     test32=-32
        !           334:   fi
1.1.1.2   misho     335: fi
                    336: 
1.1.1.4 ! misho     337: # UTF support always applies to all bit sizes if both are supported; we can't
1.1.1.2   misho     338: # have UTF-8 support without UTF-16 support (for example).
1.1       misho     339: 
1.1.1.2   misho     340: $sim ./pcretest -C utf >/dev/null
                    341: utf=$?
1.1       misho     342: 
1.1.1.2   misho     343: $sim ./pcretest -C ucp >/dev/null
1.1       misho     344: ucp=$?
                    345: 
                    346: jitopt=
1.1.1.2   misho     347: $sim ./pcretest -C jit >/dev/null
1.1       misho     348: jit=$?
1.1.1.4 ! misho     349: if [ $jit -ne 0 -a "$nojit" != "yes" ] ; then
1.1       misho     350:   jitopt=-s+
                    351: fi
                    352: 
1.1.1.4 ! misho     353: # Handle any explicit skips
        !           354: 
        !           355: for i in $skip; do eval do$i=no; done
        !           356: 
        !           357: # If any unsuitable tests were explicitly requested, grumble.
        !           358: 
1.1.1.2   misho     359: if [ $utf -eq 0 ] ; then
1.1       misho     360:   if [ $do4 = yes ] ; then
1.1.1.2   misho     361:     echo "Can't run test 4 because UTF support is not configured"
1.1       misho     362:     exit 1
                    363:   fi
                    364:   if [ $do5 = yes ] ; then
1.1.1.2   misho     365:     echo "Can't run test 5 because UTF support is not configured"
1.1       misho     366:     exit 1
                    367:   fi
1.1.1.2   misho     368:   if [ $do9 = yes ] ; then
                    369:     echo "Can't run test 8 because UTF support is not configured"
1.1       misho     370:     exit 1
                    371:   fi
1.1.1.2   misho     372:   if [ $do15 = yes ] ; then
                    373:     echo "Can't run test 15 because UTF support is not configured"
1.1       misho     374:     exit 1
                    375:   fi
1.1.1.2   misho     376:   if [ $do18 = yes ] ; then
                    377:     echo "Can't run test 18 because UTF support is not configured"
                    378:   fi
                    379:   if [ $do22 = yes ] ; then
                    380:     echo "Can't run test 22 because UTF support is not configured"
                    381:   fi
1.1       misho     382: fi
                    383: 
                    384: if [ $ucp -eq 0 ] ; then
                    385:   if [ $do6 = yes ] ; then
                    386:     echo "Can't run test 6 because Unicode property support is not configured"
                    387:     exit 1
                    388:   fi
1.1.1.2   misho     389:   if [ $do7 = yes ] ; then
                    390:     echo "Can't run test 7 because Unicode property support is not configured"
1.1       misho     391:     exit 1
                    392:   fi
                    393:   if [ $do10 = yes ] ; then
                    394:     echo "Can't run test 10 because Unicode property support is not configured"
                    395:     exit 1
                    396:   fi
1.1.1.2   misho     397:   if [ $do16 = yes ] ; then
                    398:     echo "Can't run test 16 because Unicode property support is not configured"
                    399:     exit 1
                    400:   fi
                    401:   if [ $do19 = yes ] ; then
                    402:     echo "Can't run test 19 because Unicode property support is not configured"
1.1       misho     403:     exit 1
                    404:   fi
                    405: fi
                    406: 
                    407: if [ $link_size -ne 2 ] ; then
1.1.1.2   misho     408:   if [ $do11 = yes ] ; then
                    409:     echo "Can't run test 11 because the link size ($link_size) is not 2"
1.1       misho     410:     exit 1
                    411:   fi
                    412: fi
                    413: 
                    414: if [ $jit -eq 0 ] ; then
1.1.1.2   misho     415:   if [ $do12 = "yes" ] ; then
                    416:     echo "Can't run test 12 because JIT support is not configured"
1.1       misho     417:     exit 1
                    418:   fi
                    419: else
1.1.1.2   misho     420:   if [ $do13 = "yes" ] ; then
                    421:     echo "Can't run test 13 because JIT support is configured"
1.1       misho     422:     exit 1
                    423:   fi
                    424: fi
                    425: 
                    426: # If no specific tests were requested, select all. Those that are not
1.1.1.4 ! misho     427: # relevant will be automatically skipped.
1.1       misho     428: 
                    429: if [ $do1  = no -a $do2  = no -a $do3  = no -a $do4  = no -a \
                    430:      $do5  = no -a $do6  = no -a $do7  = no -a $do8  = no -a \
                    431:      $do9  = no -a $do10 = no -a $do11 = no -a $do12 = no -a \
1.1.1.2   misho     432:      $do13 = no -a $do14 = no -a $do15 = no -a $do16 = no -a \
                    433:      $do17 = no -a $do18 = no -a $do19 = no -a $do20 = no -a \
1.1.1.4 ! misho     434:      $do21 = no -a $do22 = no -a $do23 = no -a $do24 = no -a \
        !           435:      $do25 = no -a $do26 = no ] ; then
1.1       misho     436:   do1=yes
                    437:   do2=yes
                    438:   do3=yes
                    439:   do4=yes
                    440:   do5=yes
                    441:   do6=yes
                    442:   do7=yes
                    443:   do8=yes
                    444:   do9=yes
                    445:   do10=yes
                    446:   do11=yes
                    447:   do12=yes
                    448:   do13=yes
                    449:   do14=yes
                    450:   do15=yes
1.1.1.2   misho     451:   do16=yes
                    452:   do17=yes
                    453:   do18=yes
                    454:   do19=yes
                    455:   do20=yes
                    456:   do21=yes
                    457:   do22=yes
1.1.1.4 ! misho     458:   do23=yes
        !           459:   do24=yes
        !           460:   do25=yes
        !           461:   do26=yes
1.1       misho     462: fi
                    463: 
1.1.1.4 ! misho     464: # Handle any explicit skips (again, so that an argument list may consist only
        !           465: # of explicit skips).
        !           466: 
        !           467: for i in $skip; do eval do$i=no; done
        !           468: 
1.1       misho     469: # Show which release and which test data
                    470: 
                    471: echo ""
                    472: echo PCRE C library tests using test data from $testdata
                    473: $sim ./pcretest /dev/null
                    474: 
1.1.1.4 ! misho     475: for bmode in "$test8" "$test16" "$test32"; do
1.1.1.2   misho     476:   case "$bmode" in
                    477:     skip) continue;;
1.1.1.4 ! misho     478:     -16)  if [ "$test8$test32" != "skipskip" ] ; then echo ""; fi
1.1.1.2   misho     479:           bits=16; echo "---- Testing 16-bit library ----"; echo "";;
1.1.1.4 ! misho     480:     -32)  if [ "$test8$test16" != "skipskip" ] ; then echo ""; fi
        !           481:           bits=32; echo "---- Testing 32-bit library ----"; echo "";;
1.1.1.2   misho     482:     *)    bits=8; echo "---- Testing 8-bit library ----"; echo "";;
                    483:   esac
                    484: 
1.1       misho     485: # Primary test, compatible with JIT and all versions of Perl >= 5.8
                    486: 
                    487: if [ $do1 = yes ] ; then
1.1.1.3   misho     488:   echo $title1
1.1       misho     489:   for opt in "" "-s" $jitopt; do
1.1.1.2   misho     490:     $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput1 testtry
1.1       misho     491:     if [ $? = 0 ] ; then
                    492:       $cf $testdata/testoutput1 testtry
                    493:       if [ $? != 0 ] ; then exit 1; fi
                    494:     else exit 1
                    495:     fi
                    496:     if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    497:     elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    498:     else echo "  OK"
                    499:     fi
                    500:   done
                    501: fi
                    502: 
                    503: # PCRE tests that are not JIT or Perl-compatible: API, errors, internals
                    504: 
                    505: if [ $do2 = yes ] ; then
1.1.1.3   misho     506:   echo $title2 "(not UTF-$bits)"
1.1       misho     507:   for opt in "" "-s" $jitopt; do
1.1.1.2   misho     508:     $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput2 testtry
1.1       misho     509:     if [ $? = 0 ] ; then
                    510:       $cf $testdata/testoutput2 testtry
                    511:       if [ $? != 0 ] ; then exit 1; fi
                    512:     else
                    513:       echo " "
                    514:       echo "** Test 2 requires a lot of stack. If it has crashed with a"
                    515:       echo "** segmentation fault, it may be that you do not have enough"
                    516:       echo "** stack available by default. Please see the 'pcrestack' man"
                    517:       echo "** page for a discussion of PCRE's stack usage."
                    518:       echo " "
                    519:       exit 1
                    520:     fi
                    521:     if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    522:     elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    523:     else echo "  OK"
                    524:     fi
                    525:   done
                    526: fi
                    527: 
                    528: # Locale-specific tests, provided that either the "fr_FR" or the "french"
                    529: # locale is available. The former is the Unix-like standard; the latter is
                    530: # for Windows. Another possibility is "fr", which needs to be run against
                    531: # the Windows-specific input and output files.
                    532: 
                    533: if [ $do3 = yes ] ; then
                    534:   locale -a | grep '^fr_FR$' >/dev/null
                    535:   if [ $? -eq 0 ] ; then
                    536:     locale=fr_FR
                    537:     infile=$testdata/testinput3
                    538:     outfile=$testdata/testoutput3
                    539:   else
                    540:     infile=test3input
                    541:     outfile=test3output
                    542:     locale -a | grep '^french$' >/dev/null
                    543:     if [ $? -eq 0 ] ; then
                    544:       locale=french
                    545:       sed 's/fr_FR/french/' $testdata/testinput3 >test3input
                    546:       sed 's/fr_FR/french/' $testdata/testoutput3 >test3output
                    547:     else
                    548:       locale -a | grep '^fr$' >/dev/null
                    549:       if [ $? -eq 0 ] ; then
                    550:         locale=fr
                    551:         sed 's/fr_FR/fr/' $testdata/wintestinput3 >test3input
                    552:         sed 's/fr_FR/fr/' $testdata/wintestoutput3 >test3output
                    553:       else
                    554:         locale=
                    555:       fi
                    556:     fi
                    557:   fi
                    558: 
                    559:   if [ "$locale" != "" ] ; then
1.1.1.3   misho     560:     echo $title3 "(using '$locale' locale)"
1.1       misho     561:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     562:       $sim $valgrind ./pcretest -q $bmode $opt $infile testtry
1.1       misho     563:       if [ $? = 0 ] ; then
                    564:         $cf $outfile testtry
                    565:         if [ $? != 0 ] ; then
                    566:           echo " "
                    567:           echo "Locale test did not run entirely successfully."
                    568:           echo "This usually means that there is a problem with the locale"
                    569:           echo "settings rather than a bug in PCRE."
                    570:           break;
                    571:         else
                    572:           if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    573:           elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    574:           else echo "  OK"
                    575:           fi
                    576:         fi
                    577:       else exit 1
                    578:       fi
                    579:     done
                    580:   else
                    581:     echo "Cannot test locale-specific features - none of the 'fr_FR', 'fr' or"
                    582:     echo "'french' locales exist, or the \"locale\" command is not available"
                    583:     echo "to check for them."
                    584:     echo " "
                    585:   fi
                    586: fi
                    587: 
1.1.1.2   misho     588: # Additional tests for UTF support
1.1       misho     589: 
                    590: if [ $do4 = yes ] ; then
1.1.1.3   misho     591:   echo ${title4A}-${bits}${title4B}
1.1.1.2   misho     592:   if [ $utf -eq 0 ] ; then
                    593:     echo "  Skipped because UTF-$bits support is not available"
1.1       misho     594:   else
                    595:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     596:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput4 testtry
1.1       misho     597:       if [ $? = 0 ] ; then
                    598:         $cf $testdata/testoutput4 testtry
                    599:         if [ $? != 0 ] ; then exit 1; fi
                    600:       else exit 1
                    601:       fi
                    602:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    603:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    604:       else echo "  OK"
                    605:       fi
                    606:     done
                    607:   fi
                    608: fi
                    609: 
                    610: if [ $do5 = yes ] ; then
1.1.1.3   misho     611:   echo ${title5}-${bits} support
1.1.1.2   misho     612:   if [ $utf -eq 0 ] ; then
                    613:     echo "  Skipped because UTF-$bits support is not available"
1.1       misho     614:   else
                    615:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     616:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput5 testtry
1.1       misho     617:       if [ $? = 0 ] ; then
                    618:         $cf $testdata/testoutput5 testtry
                    619:         if [ $? != 0 ] ; then exit 1; fi
                    620:       else exit 1
                    621:       fi
                    622:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    623:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    624:       else echo "  OK"
                    625:       fi
                    626:     done
                    627:   fi
                    628: fi
                    629: 
                    630: if [ $do6 = yes ] ; then
1.1.1.3   misho     631:   echo $title6
1.1.1.2   misho     632:   if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
1.1       misho     633:     echo "  Skipped because Unicode property support is not available"
                    634:   else
                    635:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     636:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput6 testtry
1.1       misho     637:       if [ $? = 0 ] ; then
                    638:         $cf $testdata/testoutput6 testtry
                    639:         if [ $? != 0 ] ; then exit 1; fi
                    640:       else exit 1
                    641:       fi
                    642:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    643:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    644:       else echo "  OK"
                    645:       fi
                    646:     done
                    647:   fi
                    648: fi
                    649: 
1.1.1.2   misho     650: # Test non-Perl-compatible Unicode property support
1.1       misho     651: 
                    652: if [ $do7 = yes ] ; then
1.1.1.3   misho     653:   echo $title7
1.1.1.2   misho     654:   if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
                    655:     echo "  Skipped because Unicode property support is not available"
                    656:   else
                    657:     for opt in "" "-s" $jitopt; do
                    658:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput7 testtry
                    659:       if [ $? = 0 ] ; then
                    660:         $cf $testdata/testoutput7 testtry
                    661:         if [ $? != 0 ] ; then exit 1; fi
                    662:       else exit 1
                    663:       fi
                    664:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    665:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    666:       else echo "  OK"
                    667:       fi
                    668:     done
                    669:   fi
                    670: fi
                    671: 
                    672: # Tests for DFA matching support
                    673: 
                    674: if [ $do8 = yes ] ; then
1.1.1.3   misho     675:   echo $title8
1.1       misho     676:   for opt in "" "-s"; do
1.1.1.2   misho     677:     $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput8 testtry
1.1       misho     678:     if [ $? = 0 ] ; then
1.1.1.2   misho     679:       $cf $testdata/testoutput8 testtry
1.1       misho     680:       if [ $? != 0 ] ; then exit 1; fi
                    681:     else exit 1
                    682:     fi
                    683:     if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
                    684:   done
                    685: fi
                    686: 
1.1.1.2   misho     687: if [ $do9 = yes ] ; then
1.1.1.3   misho     688:   echo ${title9}-${bits}
1.1.1.2   misho     689:   if [ $utf -eq 0 ] ; then
                    690:     echo "  Skipped because UTF-$bits support is not available"
1.1       misho     691:   else
                    692:     for opt in "" "-s"; do
1.1.1.2   misho     693:       $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput9 testtry
1.1       misho     694:       if [ $? = 0 ] ; then
1.1.1.2   misho     695:         $cf $testdata/testoutput9 testtry
1.1       misho     696:         if [ $? != 0 ] ; then exit 1; fi
                    697:       else exit 1
                    698:       fi
                    699:       if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
                    700:     done
                    701:   fi
                    702: fi
                    703: 
1.1.1.2   misho     704: if [ $do10 = yes ] ; then
1.1.1.3   misho     705:   echo $title10
1.1.1.2   misho     706:   if [ $utf -eq 0 -o $ucp -eq 0 ] ; then
1.1       misho     707:     echo "  Skipped because Unicode property support is not available"
                    708:   else
                    709:     for opt in "" "-s"; do
1.1.1.2   misho     710:       $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput10 testtry
1.1       misho     711:       if [ $? = 0 ] ; then
1.1.1.2   misho     712:         $cf $testdata/testoutput10 testtry
1.1       misho     713:         if [ $? != 0 ] ; then exit 1; fi
                    714:       else exit 1
                    715:       fi
                    716:       if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
                    717:     done
                    718:   fi
                    719: fi
                    720: 
                    721: # Test of internal offsets and code sizes. This test is run only when there
                    722: # is Unicode property support and the link size is 2. The actual tests are
                    723: # mostly the same as in some of the above, but in this test we inspect some
                    724: # offsets and sizes that require a known link size. This is a doublecheck for
1.1.1.2   misho     725: # the maintainer, just in case something changes unexpectely. The output from
                    726: # this test is not the same in 8-bit and 16-bit modes.
1.1       misho     727: 
1.1.1.2   misho     728: if [ $do11 = yes ] ; then
1.1.1.3   misho     729:   echo $title11
1.1       misho     730:   if [ $link_size -ne 2 ] ; then
                    731:     echo "  Skipped because link size is not 2"
                    732:   elif [ $ucp -eq 0 ] ; then
                    733:     echo "  Skipped because Unicode property support is not available"
                    734:   else
                    735:     for opt in "" "-s"; do
1.1.1.2   misho     736:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput11 testtry
1.1       misho     737:       if [ $? = 0 ] ; then
1.1.1.2   misho     738:         $cf $testdata/testoutput11-$bits testtry
1.1       misho     739:         if [ $? != 0 ] ; then exit 1; fi
                    740:       else exit 1
                    741:       fi
                    742:       if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
                    743:     done
                    744:   fi
                    745: fi
                    746: 
1.1.1.2   misho     747: # Test JIT-specific features when JIT is available
1.1       misho     748: 
1.1.1.2   misho     749: if [ $do12 = yes ] ; then
1.1.1.3   misho     750:   echo $title12
1.1.1.4 ! misho     751:   if [ $jit -eq 0 -o "$nojit" = "yes" ] ; then
1.1.1.2   misho     752:     echo "  Skipped because JIT is not available or not usable"
                    753:   else
                    754:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput12 testtry
1.1       misho     755:     if [ $? = 0 ] ; then
1.1.1.2   misho     756:       $cf $testdata/testoutput12 testtry
1.1       misho     757:       if [ $? != 0 ] ; then exit 1; fi
                    758:     else exit 1
                    759:     fi
1.1.1.2   misho     760:     echo "  OK"
                    761:   fi
                    762: fi
                    763: 
                    764: # Test JIT-specific features when JIT is not available
                    765: 
                    766: if [ $do13 = yes ] ; then
1.1.1.3   misho     767:   echo $title13
1.1.1.2   misho     768:   if [ $jit -ne 0 ] ; then
                    769:     echo "  Skipped because JIT is available"
                    770:   else
                    771:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput13 testtry
                    772:     if [ $? = 0 ] ; then
                    773:       $cf $testdata/testoutput13 testtry
                    774:       if [ $? != 0 ] ; then exit 1; fi
                    775:     else exit 1
1.1       misho     776:     fi
1.1.1.2   misho     777:     echo "  OK"
                    778:   fi
1.1       misho     779: fi
                    780: 
1.1.1.2   misho     781: # Tests for 8-bit-specific features
1.1       misho     782: 
1.1.1.2   misho     783: if [ "$do14" = yes ] ; then
1.1.1.3   misho     784:   echo $title14
1.1.1.4 ! misho     785:   if [ "$bits" = "16" -o "$bits" = "32" ] ; then
        !           786:     echo "  Skipped when running 16/32-bit tests"
1.1       misho     787:   else
1.1.1.2   misho     788:     cp -f $testdata/saved16 testsaved16
1.1.1.4 ! misho     789:     cp -f $testdata/saved32 testsaved32
1.1       misho     790:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     791:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput14 testtry
1.1       misho     792:       if [ $? = 0 ] ; then
1.1.1.2   misho     793:         $cf $testdata/testoutput14 testtry
1.1       misho     794:         if [ $? != 0 ] ; then exit 1; fi
                    795:       else exit 1
                    796:       fi
                    797:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    798:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    799:       else echo "  OK"
                    800:       fi
                    801:     done
                    802:   fi
                    803: fi
                    804: 
1.1.1.2   misho     805: # Tests for 8-bit-specific features (needs UTF-8 support)
1.1       misho     806: 
1.1.1.2   misho     807: if [ "$do15" = yes ] ; then
1.1.1.3   misho     808:   echo $title15
1.1.1.4 ! misho     809:   if [ "$bits" = "16" -o "$bits" = "32" ] ; then
        !           810:     echo "  Skipped when running 16/32-bit tests"
1.1.1.2   misho     811:   elif [ $utf -eq 0 ] ; then
                    812:     echo "  Skipped because UTF-$bits support is not available"
                    813:   else
                    814:     for opt in "" "-s" $jitopt; do
                    815:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput15 testtry
                    816:       if [ $? = 0 ] ; then
                    817:         $cf $testdata/testoutput15 testtry
                    818:         if [ $? != 0 ] ; then exit 1; fi
                    819:       else exit 1
                    820:       fi
                    821:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    822:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    823:       else echo "  OK"
                    824:       fi
                    825:     done
                    826:   fi
                    827: fi
                    828: 
                    829: # Tests for 8-bit-specific features (Unicode property support)
                    830: 
                    831: if [ $do16 = yes ] ; then
1.1.1.3   misho     832:   echo $title16
1.1.1.4 ! misho     833:   if [ "$bits" = "16" -o "$bits" = "32" ] ; then
        !           834:     echo "  Skipped when running 16/32-bit tests"
1.1.1.2   misho     835:   elif [ $ucp -eq 0 ] ; then
1.1       misho     836:     echo "  Skipped because Unicode property support is not available"
                    837:   else
                    838:     for opt in "" "-s" $jitopt; do
1.1.1.2   misho     839:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput16 testtry
1.1       misho     840:       if [ $? = 0 ] ; then
1.1.1.2   misho     841:         $cf $testdata/testoutput16 testtry
1.1       misho     842:         if [ $? != 0 ] ; then exit 1; fi
                    843:       else exit 1
                    844:       fi
                    845:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    846:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    847:       else echo "  OK"
                    848:       fi
                    849:     done
                    850:   fi
                    851: fi
                    852: 
1.1.1.4 ! misho     853: # Tests for 16/32-bit-specific features
1.1       misho     854: 
1.1.1.2   misho     855: if [ $do17 = yes ] ; then
1.1.1.3   misho     856:   echo $title17
1.1.1.2   misho     857:   if [ "$bits" = "8" ] ; then
                    858:     echo "  Skipped when running 8-bit tests"
                    859:   else
                    860:     for opt in "" "-s" $jitopt; do
                    861:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput17 testtry
                    862:       if [ $? = 0 ] ; then
                    863:         $cf $testdata/testoutput17 testtry
                    864:         if [ $? != 0 ] ; then exit 1; fi
                    865:       else exit 1
                    866:       fi
                    867:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    868:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    869:       else echo "  OK"
                    870:       fi
                    871:     done
                    872:   fi
                    873: fi
                    874: 
1.1.1.4 ! misho     875: # Tests for 16/32-bit-specific features (UTF-16/32 support)
1.1.1.2   misho     876: 
                    877: if [ $do18 = yes ] ; then
1.1.1.3   misho     878:   echo $title18
1.1.1.2   misho     879:   if [ "$bits" = "8" ] ; then
                    880:     echo "  Skipped when running 8-bit tests"
                    881:   elif [ $utf -eq 0 ] ; then
                    882:     echo "  Skipped because UTF-$bits support is not available"
1.1       misho     883:   else
1.1.1.2   misho     884:     for opt in "" "-s" $jitopt; do
                    885:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput18 testtry
                    886:       if [ $? = 0 ] ; then
1.1.1.4 ! misho     887:         $cf $testdata/testoutput18-$bits testtry
1.1.1.2   misho     888:         if [ $? != 0 ] ; then exit 1; fi
                    889:       else exit 1
                    890:       fi
                    891:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    892:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    893:       else echo "  OK"
                    894:       fi
                    895:     done
                    896:   fi
                    897: fi
                    898: 
1.1.1.4 ! misho     899: # Tests for 16/32-bit-specific features (Unicode property support)
1.1.1.2   misho     900: 
                    901: if [ $do19 = yes ] ; then
1.1.1.3   misho     902:   echo $title19
1.1.1.2   misho     903:   if [ "$bits" = "8" ] ; then
                    904:     echo "  Skipped when running 8-bit tests"
                    905:   elif [ $ucp -eq 0 ] ; then
                    906:     echo "  Skipped because Unicode property support is not available"
                    907:   else
                    908:     for opt in "" "-s" $jitopt; do
                    909:       $sim $valgrind ./pcretest -q $bmode $opt $testdata/testinput19 testtry
                    910:       if [ $? = 0 ] ; then
                    911:         $cf $testdata/testoutput19 testtry
                    912:         if [ $? != 0 ] ; then exit 1; fi
                    913:       else exit 1
                    914:       fi
                    915:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    916:       elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
                    917:       else echo "  OK"
                    918:       fi
                    919:     done
                    920:   fi
                    921: fi
                    922: 
1.1.1.4 ! misho     923: # Tests for 16/32-bit-specific features in DFA non-UTF-16/32 mode
1.1.1.2   misho     924: 
                    925: if [ $do20 = yes ] ; then
1.1.1.3   misho     926:   echo $title20
1.1.1.2   misho     927:   if [ "$bits" = "8" ] ; then
                    928:     echo "  Skipped when running 8-bit tests"
                    929:   else
                    930:     for opt in "" "-s"; do
1.1.1.4 ! misho     931:       $sim $valgrind ./pcretest -q $bmode $opt -dfa $testdata/testinput20 testtry
1.1.1.2   misho     932:       if [ $? = 0 ] ; then
                    933:         $cf $testdata/testoutput20 testtry
                    934:         if [ $? != 0 ] ; then exit 1; fi
                    935:       else exit 1
                    936:       fi
                    937:       if [ "$opt" = "-s" ] ; then echo "  OK with study"
                    938:       else echo "  OK"
                    939:       fi
                    940:     done
                    941:   fi
                    942: fi
                    943: 
1.1.1.4 ! misho     944: # Tests for reloads with 16/32-bit library
1.1.1.2   misho     945: 
                    946: if [ $do21 = yes ] ; then
1.1.1.3   misho     947:   echo $title21
1.1.1.2   misho     948:   if [ "$bits" = "8" ] ; then
                    949:     echo "  Skipped when running 8-bit tests"
                    950:   elif [ $link_size -ne 2 ] ; then
                    951:     echo "  Skipped because link size is not 2"
                    952:   else
                    953:     cp -f $testdata/saved8 testsaved8
                    954:     cp -f $testdata/saved16LE-1 testsaved16LE-1
                    955:     cp -f $testdata/saved16BE-1 testsaved16BE-1
1.1.1.4 ! misho     956:     cp -f $testdata/saved32LE-1 testsaved32LE-1
        !           957:     cp -f $testdata/saved32BE-1 testsaved32BE-1
1.1.1.2   misho     958:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput21 testtry
1.1       misho     959:     if [ $? = 0 ] ; then
1.1.1.4 ! misho     960:       $cf $testdata/testoutput21-$bits testtry
1.1       misho     961:       if [ $? != 0 ] ; then exit 1; fi
                    962:     else exit 1
                    963:     fi
                    964:     echo "  OK"
                    965:   fi
                    966: fi
                    967: 
1.1.1.4 ! misho     968: # Tests for reloads with 16/32-bit library (UTF-16 support)
1.1       misho     969: 
1.1.1.2   misho     970: if [ $do22 = yes ] ; then
1.1.1.3   misho     971:   echo $title22
1.1.1.2   misho     972:   if [ "$bits" = "8" ] ; then
                    973:     echo "  Skipped when running 8-bit tests"
                    974:   elif [ $utf -eq 0 ] ; then
                    975:     echo "  Skipped because UTF-$bits support is not available"
                    976:   elif [ $link_size -ne 2 ] ; then
                    977:     echo "  Skipped because link size is not 2"
1.1       misho     978:   else
1.1.1.2   misho     979:     cp -f $testdata/saved16LE-2 testsaved16LE-2
                    980:     cp -f $testdata/saved16BE-2 testsaved16BE-2
1.1.1.4 ! misho     981:     cp -f $testdata/saved32LE-2 testsaved32LE-2
        !           982:     cp -f $testdata/saved32BE-2 testsaved32BE-2
1.1.1.2   misho     983:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput22 testtry
1.1       misho     984:     if [ $? = 0 ] ; then
1.1.1.4 ! misho     985:       $cf $testdata/testoutput22-$bits testtry
        !           986:       if [ $? != 0 ] ; then exit 1; fi
        !           987:     else exit 1
        !           988:     fi
        !           989:     echo "  OK"
        !           990:   fi
        !           991: fi
        !           992: 
        !           993: if [ $do23 = yes ] ; then
        !           994:   echo $title23
        !           995:   if [ "$bits" = "8" -o "$bits" = "32" ] ; then
        !           996:     echo "  Skipped when running 8/32-bit tests"
        !           997:   else
        !           998:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput23 testtry
        !           999:     if [ $? = 0 ] ; then
        !          1000:       $cf $testdata/testoutput23 testtry
        !          1001:       if [ $? != 0 ] ; then exit 1; fi
        !          1002:     else exit 1
        !          1003:     fi
        !          1004:     echo "  OK"
        !          1005:   fi
        !          1006: fi
        !          1007: 
        !          1008: if [ $do24 = yes ] ; then
        !          1009:   echo $title24
        !          1010:   if [ "$bits" = "8" -o "$bits" = "32" ] ; then
        !          1011:     echo "  Skipped when running 8/32-bit tests"
        !          1012:   elif [ $utf -eq 0 ] ; then
        !          1013:     echo "  Skipped because UTF-$bits support is not available"
        !          1014:   else
        !          1015:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput24 testtry
        !          1016:     if [ $? = 0 ] ; then
        !          1017:       $cf $testdata/testoutput24 testtry
        !          1018:       if [ $? != 0 ] ; then exit 1; fi
        !          1019:     else exit 1
        !          1020:     fi
        !          1021:     echo "  OK"
        !          1022:   fi
        !          1023: fi
        !          1024: 
        !          1025: if [ $do25 = yes ] ; then
        !          1026:   echo $title25
        !          1027:   if [ "$bits" = "8" -o "$bits" = "16" ] ; then
        !          1028:     echo "  Skipped when running 8/16-bit tests"
        !          1029:   else
        !          1030:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput25 testtry
        !          1031:     if [ $? = 0 ] ; then
        !          1032:       $cf $testdata/testoutput25 testtry
        !          1033:       if [ $? != 0 ] ; then exit 1; fi
        !          1034:     else exit 1
        !          1035:     fi
        !          1036:     echo "  OK"
        !          1037:   fi
        !          1038: fi
        !          1039: 
        !          1040: if [ $do26 = yes ] ; then
        !          1041:   echo $title26
        !          1042:   if [ "$bits" = "8" -o "$bits" = "16" ] ; then
        !          1043:     echo "  Skipped when running 8/16-bit tests"
        !          1044:   elif [ $utf -eq 0 ] ; then
        !          1045:     echo "  Skipped because UTF-$bits support is not available"
        !          1046:   else
        !          1047:     $sim $valgrind ./pcretest -q $bmode $testdata/testinput26 testtry
        !          1048:     if [ $? = 0 ] ; then
        !          1049:       $cf $testdata/testoutput26 testtry
1.1       misho    1050:       if [ $? != 0 ] ; then exit 1; fi
                   1051:     else exit 1
                   1052:     fi
                   1053:     echo "  OK"
                   1054:   fi
                   1055: fi
                   1056: 
1.1.1.4 ! misho    1057: # End of loop for 8/16/32-bit tests
1.1.1.2   misho    1058: done
                   1059: 
                   1060: # Clean up local working files
                   1061: rm -f test3input test3output testNinput testsaved* teststderr teststdout testtry
                   1062: 
1.1       misho    1063: # End

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>