/[pcre]/code/trunk/RunTest
ViewVC logotype

Diff of /code/trunk/RunTest

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 654 by ph10, Tue Aug 2 11:00:40 2011 UTC revision 708 by ph10, Fri Sep 23 11:03:03 2011 UTC
# Line 1  Line 1 
1  #! /bin/sh  #! /bin/sh
2    
3  # Run the PCRE tests using the pcretest program. All tests are now run both  # Run the PCRE tests using the pcretest program. The appropriate tests are
4  # with and without -s, to ensure that everything is tested with and without  # selected, depending on which build-time options were used.
 # studying. However, there are some tests that produce different output after  
 # studying, typically when we are tracing the actual matching process (for  
 # example, using auto-callouts). In these few cases, the tests are duplicated  
 # in the files, one with /S to force studying always, and one with /SS to force  
 # *not* studying always. The use of -s doesn't then make any difference to  
 # their output. There is also one test which compiles invalid UTF-8 with the  
 # UTF-8 check turned off for which studying is disabled with /SS.  
5    
6  valgrind=  # All tests are now run both with and without -s, to ensure that everything is
7    # tested with and without studying. However, there are some tests that produce
8  # Set up a suitable "diff" command for comparison. Some systems  # different output after studying, typically when we are tracing the actual
9  # have a diff that lacks a -u option. Try to deal with this.  # matching process (for example, using auto-callouts). In these few cases, the
10    # tests are duplicated in the files, one with /S to force studying always, and
11  if diff -u /dev/null /dev/null; then cf="diff -u"; else cf="diff"; fi  # one with /SS to force *not* studying always. The use of -s doesn't then make
12    # any difference to their output. There is also one test which compiles invalid
13  # Find the test data  # UTF-8 with the UTF-8 check turned off; for this, studying must also be
14    # disabled with /SS.
15  testdata=testdata  
16  if [ -n "$srcdir" -a -d "$srcdir" ] ; then  # When JIT support is available, all the tests are also run with -s+ to test
17    testdata="$srcdir/testdata"  # (again, almost) everything with studying and the JIT option. There are also
18  fi  # two tests for JIT-specific features, one to be run when JIT support is
19    # available, and one when it is not.
20  # Find which optional facilities are available  
21    # The arguments for this script can be individual test numbers, or the word
22  case `./pcretest -C | ./pcregrep 'Internal link size'` in  # "valgrind", or "sim" followed by an argument to run cross-compiled
23    *2) link_size=2;;  # executables under a simulator, for example:
24    *3) link_size=3;;  #
25    *4) link_size=4;;  # RunTest 3 sim "qemu-arm -s 8388608"
    *) echo "Failed to find internal link size"; exit 1;;  
 esac  
   
 ./pcretest -C | ./pcregrep 'No UTF-8 support' >/dev/null  
 utf8=$?  
26    
27  ./pcretest -C | ./pcregrep 'No Unicode properties support' >/dev/null  valgrind=
28  ucp=$?  sim=
29    
30  # Select which tests to run; for those that are explicitly requested, check  # Select which tests to run; for those that are explicitly requested, check
31  # that the necessary optional facilities are available.  # that the necessary optional facilities are available.
# Line 55  do10=no Line 43  do10=no
43  do11=no  do11=no
44  do12=no  do12=no
45  do13=no  do13=no
46    do14=no
47    do15=no
48    
49  while [ $# -gt 0 ] ; do  while [ $# -gt 0 ] ; do
50    case $1 in    case $1 in
# Line 70  while [ $# -gt 0 ] ; do Line 60  while [ $# -gt 0 ] ; do
60     10) do10=yes;;     10) do10=yes;;
61     11) do11=yes;;     11) do11=yes;;
62     12) do12=yes;;     12) do12=yes;;
63     13) do12=yes;;     13) do13=yes;;
64     valgrind) valgrind="valgrind -q";;     14) do14=yes;;
65       15) do15=yes;;
66       valgrind) valgrind="valgrind -q --smc-check=all";;
67       sim) shift; sim=$1;;
68      *) echo "Unknown test number $1"; exit 1;;      *) echo "Unknown test number $1"; exit 1;;
69    esac    esac
70    shift    shift
71  done  done
72    
73    # Set up a suitable "diff" command for comparison. Some systems
74    # have a diff that lacks a -u option. Try to deal with this.
75    
76    if diff -u /dev/null /dev/null; then cf="diff -u"; else cf="diff"; fi
77    
78    # Find the test data
79    
80    if [ -n "$srcdir" -a -d "$srcdir" ] ; then
81      testdata="$srcdir/testdata"
82    elif [ -d "./testdata" ] ; then
83      testdata=./testdata
84    elif [ -d "../testdata" ] ; then
85      testdata=../testdata
86    else
87      echo "Cannot find the testdata directory"
88      exit 1
89    fi
90    
91    # Find which optional facilities are available
92    
93    case `$sim ./pcretest -C | $sim ./pcregrep 'Internal link size'` in
94      *2) link_size=2;;
95      *3) link_size=3;;
96      *4) link_size=4;;
97       *) echo "Failed to find internal link size"; exit 1;;
98    esac
99    
100    $sim ./pcretest -C | $sim ./pcregrep 'No UTF-8 support' >/dev/null
101    utf8=$?
102    
103    $sim ./pcretest -C | $sim ./pcregrep 'No Unicode properties support' >/dev/null
104    ucp=$?
105    
106    jitopt=
107    $sim ./pcretest -C | $sim ./pcregrep 'No just-in-time compiler support' \
108      >/dev/null
109    jit=$?
110    if [ $jit -ne 0 ] ; then
111      jitopt=-s+
112    fi
113    
114  if [ $utf8 -eq 0 ] ; then  if [ $utf8 -eq 0 ] ; then
115    if [ $do4 = yes ] ; then    if [ $do4 = yes ] ; then
116      echo "Can't run test 4 because UTF-8 support is not configured"      echo "Can't run test 4 because UTF-8 support is not configured"
# Line 122  if [ $link_size -ne 2 ] ; then Line 156  if [ $link_size -ne 2 ] ; then
156    fi    fi
157  fi  fi
158    
159  # If no specific tests were requested, select all that are relevant.  if [ $jit -eq 0 ] ; then
160      if [ $do14 = "yes" ] ; then
161        echo "Can't run test 14 because JIT support is not configured"
162        exit 1
163      fi
164    else
165      if [ $do15 = "yes" ] ; then
166        echo "Can't run test 15 because JIT support is configured"
167        exit 1
168      fi
169    fi
170    
171    # If no specific tests were requested, select all. Those that are not
172    # relevant will be skipped.
173    
174  if [ $do1 = no -a $do2 = no -a $do3 = no -a $do4 = no -a \  if [ $do1  = no -a $do2  = no -a $do3  = no -a $do4  = no -a \
175       $do5 = no -a $do6 = no -a $do7 = no -a $do8 = no -a \       $do5  = no -a $do6  = no -a $do7  = no -a $do8  = no -a \
176       $do9 = no -a $do10 = no -a $do11 = no -a $do12 = no ] ; then       $do9  = no -a $do10 = no -a $do11 = no -a $do12 = no -a \
177         $do13 = no -a $do14 = no -a $do15 = no ] ; then
178    do1=yes    do1=yes
179    do2=yes    do2=yes
180    do3=yes    do3=yes
181    if [ $utf8 -ne 0 ] ; then do4=yes; fi    do4=yes
182    if [ $utf8 -ne 0 ] ; then do5=yes; fi    do5=yes
183    if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do6=yes; fi    do6=yes
184    do7=yes    do7=yes
185    if [ $utf8 -ne 0 ] ; then do8=yes; fi    do8=yes
186    if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do9=yes; fi    do9=yes
187    if [ $link_size -eq 2 -a $ucp -ne 0 ] ; then do10=yes; fi    do10=yes
188    do11=yes    do11=yes
189    if [ $utf8 -ne 0 ] ; then do12=yes; fi    do12=yes
190    if [ $utf8 -ne 0 -a $ucp -ne 0 ] ; then do13=yes; fi    do13=yes
191      do14=yes
192      do15=yes
193  fi  fi
194    
195  # Show which release  # Show which release and which test data
196    
197  echo ""  echo ""
198  echo PCRE C library tests  echo PCRE C library tests using test data from $testdata
199  ./pcretest /dev/null  $sim ./pcretest /dev/null
200    
201  # Primary test, compatible with all versions of Perl >= 5.8  # Primary test, compatible with JIT and all versions of Perl >= 5.8
202    
203  if [ $do1 = yes ] ; then  if [ $do1 = yes ] ; then
204    echo "Test 1: main functionality (Compatible with Perl >= 5.8)"    echo "Test 1: main functionality (Compatible with Perl >= 5.8)"
205    for opt in "" "-s"; do    for opt in "" "-s" $jitopt; do
206      $valgrind ./pcretest -q $opt $testdata/testinput1 testtry      $sim $valgrind ./pcretest -q $opt $testdata/testinput1 testtry
207      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
208        $cf $testdata/testoutput1 testtry        $cf $testdata/testoutput1 testtry
209        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
210      else exit 1      else exit 1
211      fi      fi
212      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      if [ "$opt" = "-s" ] ; then echo "  OK with study"
213        elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
214        else echo "  OK"
215        fi
216    done    done
217  fi  fi
218    
219  # PCRE tests that are not Perl-compatible - API, errors, internals  # PCRE tests that are not JIT or Perl-compatible: API, errors, internals
220    
221  if [ $do2 = yes ] ; then  if [ $do2 = yes ] ; then
222    echo "Test 2: API, errors, internals, and non-Perl stuff"    echo "Test 2: API, errors, internals, and non-Perl stuff"
223    for opt in "" "-s"; do    for opt in "" "-s" $jitopt; do
224      $valgrind ./pcretest -q $opt $testdata/testinput2 testtry      $sim $valgrind ./pcretest -q $opt $testdata/testinput2 testtry
225      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
226        $cf $testdata/testoutput2 testtry        $cf $testdata/testoutput2 testtry
227        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
# Line 181  if [ $do2 = yes ] ; then Line 234  if [ $do2 = yes ] ; then
234        echo " "        echo " "
235        exit 1        exit 1
236      fi      fi
237      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      if [ "$opt" = "-s" ] ; then echo "  OK with study"
238        elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
239        else echo "  OK"
240        fi
241    done    done
242  fi  fi
243    
244  # Locale-specific tests, provided that either the "fr_FR" or the "french"  # Locale-specific tests, provided that either the "fr_FR" or the "french"
245  # locale is available. The former is the Unix-like standard; the latter is  # locale is available. The former is the Unix-like standard; the latter is
246  # for Windows.  # for Windows. Another possibility is "fr", which needs to be run against
247    # the Windows-specific input and output files.
248    
249  if [ $do3 = yes ] ; then  if [ $do3 = yes ] ; then
250    locale -a | grep '^fr_FR$' >/dev/null    locale -a | grep '^fr_FR$' >/dev/null
# Line 196  if [ $do3 = yes ] ; then Line 253  if [ $do3 = yes ] ; then
253      infile=$testdata/testinput3      infile=$testdata/testinput3
254      outfile=$testdata/testoutput3      outfile=$testdata/testoutput3
255    else    else
256        infile=test3input
257        outfile=test3output
258      locale -a | grep '^french$' >/dev/null      locale -a | grep '^french$' >/dev/null
259      if [ $? -eq 0 ] ; then      if [ $? -eq 0 ] ; then
260        locale=french        locale=french
261        sed 's/fr_FR/french/' $testdata/testinput3 >test3input        sed 's/fr_FR/french/' $testdata/testinput3 >test3input
262        sed 's/fr_FR/french/' $testdata/testoutput3 >test3output        sed 's/fr_FR/french/' $testdata/testoutput3 >test3output
       infile=test3input  
       outfile=test3output  
263      else      else
264        locale=        locale -a | grep '^fr$' >/dev/null
265          if [ $? -eq 0 ] ; then
266            locale=fr
267            sed 's/fr_FR/fr/' $testdata/wintestinput3 >test3input
268            sed 's/fr_FR/fr/' $testdata/wintestoutput3 >test3output
269          else
270            locale=
271          fi
272      fi      fi
273    fi    fi
274    
275    if [ "$locale" != "" ] ; then    if [ "$locale" != "" ] ; then
276      echo "Test 3: locale-specific features (using '$locale' locale)"      echo "Test 3: locale-specific features (using '$locale' locale)"
277      for opt in "" "-s"; do      for opt in "" "-s" $jitopt; do
278        $valgrind ./pcretest -q $opt $infile testtry        $sim $valgrind ./pcretest -q $opt $infile testtry
279        if [ $? = 0 ] ; then        if [ $? = 0 ] ; then
280          $cf $outfile testtry          $cf $outfile testtry
281          if [ $? != 0 ] ; then          if [ $? != 0 ] ; then
# Line 221  if [ $do3 = yes ] ; then Line 285  if [ $do3 = yes ] ; then
285            echo "settings rather than a bug in PCRE."            echo "settings rather than a bug in PCRE."
286            break;            break;
287          else          else
288            if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi            if [ "$opt" = "-s" ] ; then echo "  OK with study"
289              elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
290              else echo "  OK"
291              fi
292          fi          fi
293        else exit 1        else exit 1
294        fi        fi
# Line 238  fi Line 305  fi
305    
306  if [ $do4 = yes ] ; then  if [ $do4 = yes ] ; then
307    echo "Test 4: UTF-8 support (Compatible with Perl >= 5.8)"    echo "Test 4: UTF-8 support (Compatible with Perl >= 5.8)"
308    for opt in "" "-s"; do    if [ $utf8 -eq 0 ] ; then
309      $valgrind ./pcretest -q $opt $testdata/testinput4 testtry      echo "  Skipped because UTF-8 support is not available"
310      if [ $? = 0 ] ; then    else
311        $cf $testdata/testoutput4 testtry      for opt in "" "-s" $jitopt; do
312        if [ $? != 0 ] ; then exit 1; fi        $sim $valgrind ./pcretest -q $opt $testdata/testinput4 testtry
313      else exit 1        if [ $? = 0 ] ; then
314      fi          $cf $testdata/testoutput4 testtry
315      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi          if [ $? != 0 ] ; then exit 1; fi
316    done        else exit 1
317          fi
318          if [ "$opt" = "-s" ] ; then echo "  OK with study"
319          elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
320          else echo "  OK"
321          fi
322        done
323      fi
324  fi  fi
325    
326  if [ $do5 = yes ] ; then  if [ $do5 = yes ] ; then
327    echo "Test 5: API, internals, and non-Perl stuff for UTF-8 support"    echo "Test 5: API, internals, and non-Perl stuff for UTF-8 support"
328    for opt in "" "-s"; do    if [ $utf8 -eq 0 ] ; then
329      $valgrind ./pcretest -q $opt $testdata/testinput5 testtry      echo "  Skipped because UTF-8 support is not available"
330      if [ $? = 0 ] ; then    else
331        $cf $testdata/testoutput5 testtry      for opt in "" "-s" $jitopt; do
332        if [ $? != 0 ] ; then exit 1; fi        $sim $valgrind ./pcretest -q $opt $testdata/testinput5 testtry
333      else exit 1        if [ $? = 0 ] ; then
334      fi          $cf $testdata/testoutput5 testtry
335      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi          if [ $? != 0 ] ; then exit 1; fi
336    done        else exit 1
337          fi
338          if [ "$opt" = "-s" ] ; then echo "  OK with study"
339          elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
340          else echo "  OK"
341          fi
342        done
343      fi
344  fi  fi
345    
346  if [ $do6 = yes ] ; then  if [ $do6 = yes ] ; then
347    echo "Test 6: Unicode property support (Compatible with Perl >= 5.10)"    echo "Test 6: Unicode property support (Compatible with Perl >= 5.10)"
348    for opt in "" "-s"; do    if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
349      $valgrind ./pcretest -q $opt $testdata/testinput6 testtry      echo "  Skipped because Unicode property support is not available"
350      if [ $? = 0 ] ; then    else
351        $cf $testdata/testoutput6 testtry      for opt in "" "-s" $jitopt; do
352        if [ $? != 0 ] ; then exit 1; fi        $sim $valgrind ./pcretest -q $opt $testdata/testinput6 testtry
353      else exit 1        if [ $? = 0 ] ; then
354      fi          $cf $testdata/testoutput6 testtry
355      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi          if [ $? != 0 ] ; then exit 1; fi
356    done        else exit 1
357          fi
358          if [ "$opt" = "-s" ] ; then echo "  OK with study"
359          elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
360          else echo "  OK"
361          fi
362        done
363      fi
364  fi  fi
365    
366  # Tests for DFA matching support  # Tests for DFA matching support
# Line 280  fi Line 368  fi
368  if [ $do7 = yes ] ; then  if [ $do7 = yes ] ; then
369    echo "Test 7: DFA matching"    echo "Test 7: DFA matching"
370    for opt in "" "-s"; do    for opt in "" "-s"; do
371      $valgrind ./pcretest -q $opt -dfa $testdata/testinput7 testtry      $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput7 testtry
372      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
373        $cf $testdata/testoutput7 testtry        $cf $testdata/testoutput7 testtry
374        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
375      else exit 1      else exit 1
376      fi      fi
377      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
378    done    done
379  fi  fi
380    
381  if [ $do8 = yes ] ; then  if [ $do8 = yes ] ; then
382    echo "Test 8: DFA matching with UTF-8"    echo "Test 8: DFA matching with UTF-8"
383    for opt in "" "-s"; do    if [ $utf8 -eq 0 ] ; then
384      $valgrind ./pcretest -q $opt -dfa $testdata/testinput8 testtry      echo "  Skipped because UTF-8 support is not available"
385      if [ $? = 0 ] ; then    else
386        $cf $testdata/testoutput8 testtry      for opt in "" "-s"; do
387        if [ $? != 0 ] ; then exit 1; fi        $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput8 testtry
388      else exit 1        if [ $? = 0 ] ; then
389      fi          $cf $testdata/testoutput8 testtry
390      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi          if [ $? != 0 ] ; then exit 1; fi
391    done        else exit 1
392          fi
393          if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
394        done
395      fi
396  fi  fi
397    
398  if [ $do9 = yes ] ; then  if [ $do9 = yes ] ; then
399    echo "Test 9: DFA matching with Unicode properties"    echo "Test 9: DFA matching with Unicode properties"
400    for opt in "" "-s"; do    if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
401      $valgrind ./pcretest -q $opt -dfa $testdata/testinput9 testtry      echo "  Skipped because Unicode property support is not available"
402      if [ $? = 0 ] ; then    else
403        $cf $testdata/testoutput9 testtry      for opt in "" "-s"; do
404        if [ $? != 0 ] ; then exit 1; fi        $sim $valgrind ./pcretest -q $opt -dfa $testdata/testinput9 testtry
405      else exit 1        if [ $? = 0 ] ; then
406      fi          $cf $testdata/testoutput9 testtry
407      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi          if [ $? != 0 ] ; then exit 1; fi
408    done        else exit 1
409          fi
410          if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
411        done
412      fi
413  fi  fi
414    
415  # Test of internal offsets and code sizes. This test is run only when there  # Test of internal offsets and code sizes. This test is run only when there
# Line 324  fi Line 420  fi
420    
421  if [ $do10 = yes ] ; then  if [ $do10 = yes ] ; then
422    echo "Test 10: Internal offsets and code size tests"    echo "Test 10: Internal offsets and code size tests"
423    for opt in "" "-s"; do    if [ $link_size -ne 2 ] ; then
424      $valgrind ./pcretest -q $opt $testdata/testinput10 testtry      echo "  Skipped because link size is not 2"
425      if [ $? = 0 ] ; then    elif [ $ucp -eq 0 ] ; then
426        $cf $testdata/testoutput10 testtry      echo "  Skipped because Unicode property support is not available"
427        if [ $? != 0 ] ; then exit 1; fi    else
428      else exit 1      for opt in "" "-s"; do
429      fi        $sim $valgrind ./pcretest -q $opt $testdata/testinput10 testtry
430      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi        if [ $? = 0 ] ; then
431    done          $cf $testdata/testoutput10 testtry
432            if [ $? != 0 ] ; then exit 1; fi
433          else exit 1
434          fi
435          if [ "$opt" = "-s" ] ; then echo "  OK with study" ; else echo "  OK"; fi
436        done
437      fi
438  fi  fi
439    
440  # Test of Perl >= 5.10 features without UTF8 support  # Test of Perl >= 5.10 features without UTF8 support
441    
442  if [ $do11 = yes ] ; then  if [ $do11 = yes ] ; then
443    echo "Test 11: Features from Perl >= 5.10 without UTF8 support"    echo "Test 11: Features from Perl >= 5.10 without UTF8 support"
444    for opt in "" "-s"; do    for opt in "" "-s" $jitopt; do
445      $valgrind ./pcretest -q $opt $testdata/testinput11 testtry      $sim $valgrind ./pcretest -q $opt $testdata/testinput11 testtry
446      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
447        $cf $testdata/testoutput11 testtry        $cf $testdata/testoutput11 testtry
448        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
449      else exit 1      else exit 1
450      fi      fi
451      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      if [ "$opt" = "-s" ] ; then echo "  OK with study"
452        elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
453        else echo "  OK"
454        fi
455    done    done
456  fi  fi
457    
# Line 354  fi Line 459  fi
459    
460  if [ $do12 = yes ] ; then  if [ $do12 = yes ] ; then
461    echo "Test 12: Features from Perl >= 5.10 with UTF8 support"    echo "Test 12: Features from Perl >= 5.10 with UTF8 support"
462    for opt in "" "-s"; do    if [ $utf8 -eq 0 ] ; then
463      $valgrind ./pcretest -q $opt $testdata/testinput12 testtry      echo "  Skipped because UTF-8 support is not available"
464      else
465        for opt in "" "-s" $jitopt; do
466          $sim $valgrind ./pcretest -q $opt $testdata/testinput12 testtry
467          if [ $? = 0 ] ; then
468            $cf $testdata/testoutput12 testtry
469            if [ $? != 0 ] ; then exit 1; fi
470          else exit 1
471          fi
472          if [ "$opt" = "-s" ] ; then echo "  OK with study"
473          elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
474          else echo "  OK"
475          fi
476        done
477      fi
478    fi
479    
480    # Test non-Perl-compatible Unicode property support
481    
482    if [ $do13 = yes ] ; then
483      echo "Test 13: API, internals, and non-Perl stuff for Unicode property support"
484      if [ $utf8 -eq 0 -o $ucp -eq 0 ] ; then
485        echo "  Skipped because Unicode property support is not available"
486      else
487        for opt in "" "-s" $jitopt; do
488          $sim $valgrind ./pcretest -q $opt $testdata/testinput13 testtry
489          if [ $? = 0 ] ; then
490            $cf $testdata/testoutput13 testtry
491            if [ $? != 0 ] ; then exit 1; fi
492          else exit 1
493          fi
494          if [ "$opt" = "-s" ] ; then echo "  OK with study"
495          elif [ "$opt" = "-s+" ] ; then echo "  OK with JIT study"
496          else echo "  OK"
497          fi
498        done
499      fi
500    fi
501    
502    # Test JIT-specific features when JIT is available
503    
504    if [ $do14 = yes ] ; then
505      echo "Test 14: JIT-specific features (JIT available)"
506      if [ $jit -eq 0 ] ; then
507        echo "  Skipped because JIT is not available or not usable"
508      else
509        $sim $valgrind ./pcretest -q $testdata/testinput14 testtry
510      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
511        $cf $testdata/testoutput12 testtry        $cf $testdata/testoutput14 testtry
512        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
513      else exit 1      else exit 1
514      fi      fi
515      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      echo "  OK"
516    done    fi
517  fi  fi
518    
519  # Test non-Perl-compatible Unicode property support  # Test JIT-specific features when JIT is not available
520    
521  if [ $do13 = yes ] ; then  if [ $do15 = yes ] ; then
522    echo "Test 13: API, internals, and non-Perl stuff for Unicode property support"    echo "Test 15: JIT-specific features (JIT not available)"
523    for opt in "" "-s"; do    if [ $jit -ne 0 ] ; then
524      $valgrind ./pcretest -q $opt $testdata/testinput13 testtry      echo "  Skipped because JIT is available"
525      else
526        $sim $valgrind ./pcretest -q $testdata/testinput15 testtry
527      if [ $? = 0 ] ; then      if [ $? = 0 ] ; then
528        $cf $testdata/testoutput13 testtry        $cf $testdata/testoutput15 testtry
529        if [ $? != 0 ] ; then exit 1; fi        if [ $? != 0 ] ; then exit 1; fi
530      else exit 1      else exit 1
531      fi      fi
532      if [ "$opt" = "-s" ] ; then echo "OK with study" ; else echo "OK"; fi      echo "  OK"
533    done    fi
534  fi  fi
535    
536  # End  # End

Legend:
Removed from v.654  
changed lines
  Added in v.708

  ViewVC Help
Powered by ViewVC 1.1.5