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