new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testinput15
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   aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
11   aaaaaaaaaaaaaz\=find_limits
12
13 !((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
14    /* this is a C style comment */\=find_limits
15
16 /^(?>a)++/
17     aa\=find_limits
18     aaaaaaaaa\=find_limits
19     
20 /(a)(?1)++/
21     aa\=find_limits
22     aaaaaaaaa\=find_limits
23
24 /a(?:.)*?a/ims
25     abbbbbbbbbbbbbbbbbbbbba\=find_limits
26     
27 /a(?:.(*THEN))*?a/ims
28     abbbbbbbbbbbbbbbbbbbbba\=find_limits
29
30 /a(?:.(*THEN:ABC))*?a/ims
31     abbbbbbbbbbbbbbbbbbbbba\=find_limits
32
33 /^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
34      aabbccddee\=find_limits
35
36 /^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
37      aabbccddee\=find_limits
38
39 /^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
40      aabbccddee\=find_limits
41
42 /(*LIMIT_MATCH=12bc)abc/
43
44 /(*LIMIT_MATCH=4294967290)abc/
45
46 /(*LIMIT_DEPTH=4294967280)abc/I
47
48 /(a+)*zz/
49 \= Expect no match
50     aaaaaaaaaaaaaz
51 \= Expect limit exceeded
52     aaaaaaaaaaaaaz\=match_limit=3000
53
54 /(a+)*zz/
55 \= Expect limit exceeded
56     aaaaaaaaaaaaaz\=depth_limit=10
57
58 /(*LIMIT_MATCH=3000)(a+)*zz/I
59 \= Expect limit exceeded
60     aaaaaaaaaaaaaz
61 \= Expect limit exceeded
62     aaaaaaaaaaaaaz\=match_limit=60000
63
64 /(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
65 \= Expect limit exceeded
66     aaaaaaaaaaaaaz
67
68 /(*LIMIT_MATCH=60000)(a+)*zz/I
69 \= Expect no match
70     aaaaaaaaaaaaaz
71 \= Expect limit exceeded
72     aaaaaaaaaaaaaz\=match_limit=3000
73
74 /(*LIMIT_DEPTH=10)(a+)*zz/I
75 \= Expect limit exceeded
76     aaaaaaaaaaaaaz
77 \= Expect limit exceeded
78     aaaaaaaaaaaaaz\=depth_limit=1000
79
80 /(*LIMIT_DEPTH=10)(*LIMIT_DEPTH=1000)(a+)*zz/I
81 \= Expect no match
82     aaaaaaaaaaaaaz
83
84 /(*LIMIT_DEPTH=1000)(a+)*zz/I
85 \= Expect no match
86     aaaaaaaaaaaaaz
87 \= Expect limit exceeded
88     aaaaaaaaaaaaaz\=depth_limit=10
89     
90 # These three have infinitely nested recursions. 
91     
92 /((?2))((?1))/
93     abc
94
95 /((?(R2)a+|(?1)b))()/
96     aaaabcde
97
98 /(?(R)a*(?1)|((?R))b)/
99     aaaabcde
100     
101 # The allusedtext modifier does not work with JIT, which does not maintain
102 # the leftchar/rightchar data.
103
104 /abc(?=xyz)/allusedtext
105     abcxyzpqr
106     abcxyzpqr\=aftertext
107     
108 /(?<=pqr)abc(?=xyz)/allusedtext
109     xyzpqrabcxyzpqr
110     xyzpqrabcxyzpqr\=aftertext
111     
112 /a\b/
113     a.\=allusedtext
114     a\=allusedtext  
115
116 /abc\Kxyz/
117     abcxyz\=allusedtext
118
119 /abc(?=xyz(*ACCEPT))/
120     abcxyz\=allusedtext
121
122 /abc(?=abcde)(?=ab)/allusedtext
123     abcabcdefg
124     
125 # These tests provoke recursion loops, which give a different error message
126 # when JIT is used.
127
128 /(?R)/I
129     abcd
130
131 /(a|(?R))/I
132     abcd
133     defg 
134
135 /(ab|(bc|(de|(?R))))/I
136     abcd
137     fghi 
138
139 /(ab|(bc|(de|(?1))))/I
140     abcd
141     fghi 
142
143 /x(ab|(bc|(de|(?1)x)x)x)/I
144     xab123
145     xfghi 
146
147 /(?!\w)(?R)/
148     abcd
149     =abc 
150
151 /(?=\w)(?R)/
152     =abc 
153     abcd
154
155 /(?<!\w)(?R)/
156     abcd
157
158 /(?<=\w)(?R)/
159     abcd
160
161 /(a+|(?R)b)/
162     aaa
163     bbb 
164
165 /[^\xff]((?1))/BI
166     abcd
167     
168 # These tests don't behave the same with JIT 
169
170 /\w+(?C1)/BI,no_auto_possess
171     abc\=callout_fail=1
172
173 /(*NO_AUTO_POSSESS)\w+(?C1)/BI
174     abc\=callout_fail=1
175
176 # This test breaks the JIT stack limit 
177
178 /(|]+){2,2452}/
179     (|]+){2,2452}
180
181 /(*LIMIT_HEAP=21)\[(a)]{60}/expand
182     \[a]{60}
183
184 # End of testinput15