new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testoutput15
1 # These are:
2 #
3 # (1) Tests of the match-limiting features. The results are different for
4 # interpretive or JIT matching, so this test should not be run with JIT. The
5 # same tests are run using JIT in test 17.
6
7 # (2) Other tests that must not be run with JIT.
8
9 /(a+)*zz/I
10 Capturing subpattern count = 1
11 Starting code units: a z 
12 Last code unit = 'z'
13 Subject length lower bound = 2
14   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
15 Minimum heap limit = 0
16 Minimum match limit = 7
17 Minimum depth limit = 7
18  0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
19  1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
20   aaaaaaaaaaaaaz\=find_limits
21 Minimum heap limit = 0
22 Minimum match limit = 20481
23 Minimum depth limit = 30
24 No match
25
26 !((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
27 Capturing subpattern count = 1
28 May match empty string
29 Subject length lower bound = 0
30    /* this is a C style comment */\=find_limits
31 Minimum heap limit = 0
32 Minimum match limit = 64
33 Minimum depth limit = 7
34  0: /* this is a C style comment */
35  1: /* this is a C style comment */
36
37 /^(?>a)++/
38     aa\=find_limits
39 Minimum heap limit = 0
40 Minimum match limit = 5
41 Minimum depth limit = 3
42  0: aa
43     aaaaaaaaa\=find_limits
44 Minimum heap limit = 0
45 Minimum match limit = 12
46 Minimum depth limit = 3
47  0: aaaaaaaaa
48     
49 /(a)(?1)++/
50     aa\=find_limits
51 Minimum heap limit = 0
52 Minimum match limit = 7
53 Minimum depth limit = 5
54  0: aa
55  1: a
56     aaaaaaaaa\=find_limits
57 Minimum heap limit = 0
58 Minimum match limit = 21
59 Minimum depth limit = 5
60  0: aaaaaaaaa
61  1: a
62
63 /a(?:.)*?a/ims
64     abbbbbbbbbbbbbbbbbbbbba\=find_limits
65 Minimum heap limit = 0
66 Minimum match limit = 24
67 Minimum depth limit = 3
68  0: abbbbbbbbbbbbbbbbbbbbba
69     
70 /a(?:.(*THEN))*?a/ims
71     abbbbbbbbbbbbbbbbbbbbba\=find_limits
72 Minimum heap limit = 0
73 Minimum match limit = 66
74 Minimum depth limit = 45
75  0: abbbbbbbbbbbbbbbbbbbbba
76
77 /a(?:.(*THEN:ABC))*?a/ims
78     abbbbbbbbbbbbbbbbbbbbba\=find_limits
79 Minimum heap limit = 0
80 Minimum match limit = 66
81 Minimum depth limit = 45
82  0: abbbbbbbbbbbbbbbbbbbbba
83
84 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
85      aabbccddee\=find_limits
86 Minimum heap limit = 0
87 Minimum match limit = 7
88 Minimum depth limit = 7
89  0: aabbccddee
90
91 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
92      aabbccddee\=find_limits
93 Minimum heap limit = 0
94 Minimum match limit = 12
95 Minimum depth limit = 12
96  0: aabbccddee
97  1: aa
98  2: bb
99  3: cc
100  4: dd
101  5: ee
102
103 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
104      aabbccddee\=find_limits
105 Minimum heap limit = 0
106 Minimum match limit = 10
107 Minimum depth limit = 10
108  0: aabbccddee
109  1: aa
110  2: cc
111  3: ee
112
113 /(*LIMIT_MATCH=12bc)abc/
114 Failed: error 160 at offset 17: (*VERB) not recognized or malformed
115
116 /(*LIMIT_MATCH=4294967290)abc/
117 Failed: error 160 at offset 24: (*VERB) not recognized or malformed
118
119 /(*LIMIT_DEPTH=4294967280)abc/I
120 Capturing subpattern count = 0
121 Depth limit = 4294967280
122 First code unit = 'a'
123 Last code unit = 'c'
124 Subject length lower bound = 3
125
126 /(a+)*zz/
127 \= Expect no match
128     aaaaaaaaaaaaaz
129 No match
130 \= Expect limit exceeded
131     aaaaaaaaaaaaaz\=match_limit=3000
132 Failed: error -47: match limit exceeded
133
134 /(a+)*zz/
135 \= Expect limit exceeded
136     aaaaaaaaaaaaaz\=depth_limit=10
137 Failed: error -53: matching depth limit exceeded
138
139 /(*LIMIT_MATCH=3000)(a+)*zz/I
140 Capturing subpattern count = 1
141 Match limit = 3000
142 Starting code units: a z 
143 Last code unit = 'z'
144 Subject length lower bound = 2
145 \= Expect limit exceeded
146     aaaaaaaaaaaaaz
147 Failed: error -47: match limit exceeded
148 \= Expect limit exceeded
149     aaaaaaaaaaaaaz\=match_limit=60000
150 Failed: error -47: match limit exceeded
151
152 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
153 Capturing subpattern count = 1
154 Match limit = 3000
155 Starting code units: a z 
156 Last code unit = 'z'
157 Subject length lower bound = 2
158 \= Expect limit exceeded
159     aaaaaaaaaaaaaz
160 Failed: error -47: match limit exceeded
161
162 /(*LIMIT_MATCH=60000)(a+)*zz/I
163 Capturing subpattern count = 1
164 Match limit = 60000
165 Starting code units: a z 
166 Last code unit = 'z'
167 Subject length lower bound = 2
168 \= Expect no match
169     aaaaaaaaaaaaaz
170 No match
171 \= Expect limit exceeded
172     aaaaaaaaaaaaaz\=match_limit=3000
173 Failed: error -47: match limit exceeded
174
175 /(*LIMIT_DEPTH=10)(a+)*zz/I
176 Capturing subpattern count = 1
177 Depth limit = 10
178 Starting code units: a z 
179 Last code unit = 'z'
180 Subject length lower bound = 2
181 \= Expect limit exceeded
182     aaaaaaaaaaaaaz
183 Failed: error -53: matching depth limit exceeded
184 \= Expect limit exceeded
185     aaaaaaaaaaaaaz\=depth_limit=1000
186 Failed: error -53: matching depth limit exceeded
187
188 /(*LIMIT_DEPTH=10)(*LIMIT_DEPTH=1000)(a+)*zz/I
189 Capturing subpattern count = 1
190 Depth limit = 1000
191 Starting code units: a z 
192 Last code unit = 'z'
193 Subject length lower bound = 2
194 \= Expect no match
195     aaaaaaaaaaaaaz
196 No match
197
198 /(*LIMIT_DEPTH=1000)(a+)*zz/I
199 Capturing subpattern count = 1
200 Depth limit = 1000
201 Starting code units: a z 
202 Last code unit = 'z'
203 Subject length lower bound = 2
204 \= Expect no match
205     aaaaaaaaaaaaaz
206 No match
207 \= Expect limit exceeded
208     aaaaaaaaaaaaaz\=depth_limit=10
209 Failed: error -53: matching depth limit exceeded
210     
211 # These three have infinitely nested recursions. 
212     
213 /((?2))((?1))/
214     abc
215 Failed: error -52: nested recursion at the same subject position
216
217 /((?(R2)a+|(?1)b))()/
218     aaaabcde
219 Failed: error -52: nested recursion at the same subject position
220
221 /(?(R)a*(?1)|((?R))b)/
222     aaaabcde
223 Failed: error -52: nested recursion at the same subject position
224     
225 # The allusedtext modifier does not work with JIT, which does not maintain
226 # the leftchar/rightchar data.
227
228 /abc(?=xyz)/allusedtext
229     abcxyzpqr
230  0: abcxyz
231        >>>
232     abcxyzpqr\=aftertext
233  0: abcxyz
234        >>>
235  0+ xyzpqr
236     
237 /(?<=pqr)abc(?=xyz)/allusedtext
238     xyzpqrabcxyzpqr
239  0: pqrabcxyz
240     <<<   >>>
241     xyzpqrabcxyzpqr\=aftertext
242  0: pqrabcxyz
243     <<<   >>>
244  0+ xyzpqr
245     
246 /a\b/
247     a.\=allusedtext
248  0: a.
249      >
250     a\=allusedtext  
251  0: a
252
253 /abc\Kxyz/
254     abcxyz\=allusedtext
255  0: abcxyz
256     <<<   
257
258 /abc(?=xyz(*ACCEPT))/
259     abcxyz\=allusedtext
260  0: abcxyz
261        >>>
262
263 /abc(?=abcde)(?=ab)/allusedtext
264     abcabcdefg
265  0: abcabcde
266        >>>>>
267     
268 # These tests provoke recursion loops, which give a different error message
269 # when JIT is used.
270
271 /(?R)/I
272 Capturing subpattern count = 0
273 May match empty string
274 Subject length lower bound = 0
275     abcd
276 Failed: error -52: nested recursion at the same subject position
277
278 /(a|(?R))/I
279 Capturing subpattern count = 1
280 May match empty string
281 Subject length lower bound = 0
282     abcd
283  0: a
284  1: a
285     defg 
286 Failed: error -52: nested recursion at the same subject position
287
288 /(ab|(bc|(de|(?R))))/I
289 Capturing subpattern count = 3
290 May match empty string
291 Subject length lower bound = 0
292     abcd
293  0: ab
294  1: ab
295     fghi 
296 Failed: error -52: nested recursion at the same subject position
297
298 /(ab|(bc|(de|(?1))))/I
299 Capturing subpattern count = 3
300 May match empty string
301 Subject length lower bound = 0
302     abcd
303  0: ab
304  1: ab
305     fghi 
306 Failed: error -52: nested recursion at the same subject position
307
308 /x(ab|(bc|(de|(?1)x)x)x)/I
309 Capturing subpattern count = 3
310 First code unit = 'x'
311 Subject length lower bound = 3
312     xab123
313  0: xab
314  1: ab
315     xfghi 
316 Failed: error -52: nested recursion at the same subject position
317
318 /(?!\w)(?R)/
319     abcd
320 Failed: error -52: nested recursion at the same subject position
321     =abc 
322 Failed: error -52: nested recursion at the same subject position
323
324 /(?=\w)(?R)/
325     =abc 
326 Failed: error -52: nested recursion at the same subject position
327     abcd
328 Failed: error -52: nested recursion at the same subject position
329
330 /(?<!\w)(?R)/
331     abcd
332 Failed: error -52: nested recursion at the same subject position
333
334 /(?<=\w)(?R)/
335     abcd
336 Failed: error -52: nested recursion at the same subject position
337
338 /(a+|(?R)b)/
339     aaa
340  0: aaa
341  1: aaa
342     bbb 
343 Failed: error -52: nested recursion at the same subject position
344
345 /[^\xff]((?1))/BI
346 ------------------------------------------------------------------
347         Bra
348         [^\x{ff}]
349         CBra 1
350         Recurse
351         Ket
352         Ket
353         End
354 ------------------------------------------------------------------
355 Capturing subpattern count = 1
356 Subject length lower bound = 1
357     abcd
358 Failed: error -52: nested recursion at the same subject position
359     
360 # These tests don't behave the same with JIT 
361
362 /\w+(?C1)/BI,no_auto_possess
363 ------------------------------------------------------------------
364         Bra
365         \w+
366         Callout 1 8 0
367         Ket
368         End
369 ------------------------------------------------------------------
370 Capturing subpattern count = 0
371 Options: no_auto_possess
372 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
373   Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
374 Subject length lower bound = 1
375     abc\=callout_fail=1
376 --->abc
377   1 ^  ^    End of pattern
378   1 ^ ^     End of pattern
379   1 ^^      End of pattern
380   1  ^ ^    End of pattern
381   1  ^^     End of pattern
382   1   ^^    End of pattern
383 No match
384
385 /(*NO_AUTO_POSSESS)\w+(?C1)/BI
386 ------------------------------------------------------------------
387         Bra
388         \w+
389         Callout 1 26 0
390         Ket
391         End
392 ------------------------------------------------------------------
393 Capturing subpattern count = 0
394 Compile options: <none>
395 Overall options: no_auto_possess
396 Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
397   Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
398 Subject length lower bound = 1
399     abc\=callout_fail=1
400 --->abc
401   1 ^  ^    End of pattern
402   1 ^ ^     End of pattern
403   1 ^^      End of pattern
404   1  ^ ^    End of pattern
405   1  ^^     End of pattern
406   1   ^^    End of pattern
407 No match
408
409 # This test breaks the JIT stack limit 
410
411 /(|]+){2,2452}/
412     (|]+){2,2452}
413  0: 
414  1: 
415
416 /(*LIMIT_HEAP=21)\[(a)]{60}/expand
417     \[a]{60}
418 Failed: error -63: heap limit exceeded
419
420 # End of testinput15