Home | History | Annotate | Download | only in testdata
      1 /-- This test is run only when JIT support is available. It checks for a
      2 successful and an unsuccessful JIT compile and save and restore behaviour,
      3 and a couple of things that are different with JIT. --/
      4 
      5 /abc/S+I
      6 Capturing subpattern count = 0
      7 No options
      8 First char = 'a'
      9 Need char = 'c'
     10 Subject length lower bound = 3
     11 No starting char list
     12 JIT study was successful
     13 
     14 /(?(?C1)(?=a)a)/S+I
     15 Capturing subpattern count = 0
     16 May match empty string
     17 No options
     18 No first char
     19 No need char
     20 Study returned NULL
     21 JIT study was not successful
     22 
     23 /(?(?C1)(?=a)a)/S!+I
     24 Capturing subpattern count = 0
     25 May match empty string
     26 No options
     27 No first char
     28 No need char
     29 Subject length lower bound = -1
     30 No starting char list
     31 JIT study was not successful
     32 
     33 /abc/S+I>testsavedregex
     34 Capturing subpattern count = 0
     35 No options
     36 First char = 'a'
     37 Need char = 'c'
     38 Subject length lower bound = 3
     39 No starting char list
     40 JIT study was successful
     41 Compiled pattern written to testsavedregex
     42 Study data written to testsavedregex
     43 
     44 <testsavedregex
     45 Compiled pattern loaded from testsavedregex
     46 Study data loaded from testsavedregex
     47     abc
     48  0: abc
     49 
     50 /a*/SI
     51 Capturing subpattern count = 0
     52 May match empty string
     53 No options
     54 No first char
     55 No need char
     56 Study returned NULL
     57 
     58 /(?(R)a*(?1)|((?R))b)/S+
     59     aaaabcde
     60 Error -27 (JIT stack limit reached)
     61     
     62 /-- Test various compile modes --/ 
     63     
     64 /abcd/S++
     65     abcd
     66  0: abcd (JIT)
     67     xyz  
     68 No match (JIT)
     69 
     70 /abcd/S+
     71     abcd
     72  0: abcd (JIT)
     73     ab\P
     74 Partial match: ab (JIT)
     75     ab\P\P
     76 Partial match: ab (JIT)
     77     xyz
     78 No match (JIT)
     79 
     80 /abcd/S++
     81     abcd
     82  0: abcd (JIT)
     83     ab\P
     84 Partial match: ab (JIT)
     85     ab\P\P
     86 Partial match: ab (JIT)
     87     xyz
     88 No match (JIT)
     89 
     90 /abcd/S++1
     91     abcd
     92  0: abcd (JIT)
     93     ab\P
     94 Partial match: ab
     95     ab\P\P
     96 Partial match: ab
     97     xyz
     98 No match (JIT)
     99     xyz\P
    100 No match
    101 
    102 /abcd/S++2
    103     abcd
    104  0: abcd
    105     ab\P
    106 Partial match: ab (JIT)
    107     ab\P\P
    108 Partial match: ab
    109     xyz
    110 No match
    111 
    112 /abcd/S++3
    113     abcd
    114  0: abcd (JIT)
    115     ab\P
    116 Partial match: ab (JIT)
    117     ab\P\P
    118 Partial match: ab
    119     xyz
    120 No match (JIT)
    121 
    122 /abcd/S++4
    123     abcd
    124  0: abcd
    125     ab\P
    126 Partial match: ab
    127     ab\P\P
    128 Partial match: ab (JIT)
    129     xyz
    130 No match
    131 
    132 /abcd/S++5
    133     abcd
    134  0: abcd (JIT)
    135     ab\P
    136 Partial match: ab
    137     ab\P\P
    138 Partial match: ab (JIT)
    139     xyz
    140 No match (JIT)
    141 
    142 /abcd/S++6
    143     abcd
    144  0: abcd
    145     ab\P
    146 Partial match: ab (JIT)
    147     ab\P\P
    148 Partial match: ab (JIT)
    149     xyz
    150 No match
    151 
    152 /abcd/S++7
    153     abcd
    154  0: abcd (JIT)
    155     ab\P
    156 Partial match: ab (JIT)
    157     ab\P\P
    158 Partial match: ab (JIT)
    159     xyz
    160 No match (JIT)
    161     
    162 /abcd/S++2I 
    163 Capturing subpattern count = 0
    164 No options
    165 First char = 'a'
    166 Need char = 'd'
    167 Subject length lower bound = 4
    168 No starting char list
    169 JIT study was successful
    170 
    171 /(*NO_START_OPT)a(*:m)b/KS++
    172     a
    173 No match, mark = m (JIT)
    174 
    175 /^12345678abcd/mS++
    176     12345678abcd
    177  0: 12345678abcd (JIT)
    178 
    179 /-- End of testinput12 --/
    180