xref: /aosp_15_r20/external/pcre/testdata/testoutput18 (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi# This set of tests is run only with the 8-bit library. It tests the POSIX
2*22dc650dSSadaf Ebrahimi# interface, which is supported only with the 8-bit library. This test should
3*22dc650dSSadaf Ebrahimi# not be run with JIT (which is not available for the POSIX interface).
4*22dc650dSSadaf Ebrahimi
5*22dc650dSSadaf Ebrahimi#forbid_utf
6*22dc650dSSadaf Ebrahimi#pattern posix
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimi# Test some invalid options
9*22dc650dSSadaf Ebrahimi
10*22dc650dSSadaf Ebrahimi/abc/auto_callout
11*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: auto_callout
12*22dc650dSSadaf Ebrahimi
13*22dc650dSSadaf Ebrahimi/abc/
14*22dc650dSSadaf Ebrahimi   abc\=find_limits
15*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: find_limits
16*22dc650dSSadaf Ebrahimi 0: abc
17*22dc650dSSadaf Ebrahimi
18*22dc650dSSadaf Ebrahimi/abc/
19*22dc650dSSadaf Ebrahimi  abc\=partial_hard
20*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: partial_hard
21*22dc650dSSadaf Ebrahimi 0: abc
22*22dc650dSSadaf Ebrahimi
23*22dc650dSSadaf Ebrahimi/a(())bc/parens_nest_limit=1
24*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: parens_nest_limit
25*22dc650dSSadaf Ebrahimi
26*22dc650dSSadaf Ebrahimi/abc/allow_surrogate_escapes,max_pattern_length=2
27*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: allow_surrogate_escapes max_pattern_length
28*22dc650dSSadaf Ebrahimi
29*22dc650dSSadaf Ebrahimi# Real tests
30*22dc650dSSadaf Ebrahimi
31*22dc650dSSadaf Ebrahimi/abc/
32*22dc650dSSadaf Ebrahimi    abc
33*22dc650dSSadaf Ebrahimi 0: abc
34*22dc650dSSadaf Ebrahimi
35*22dc650dSSadaf Ebrahimi/^abc|def/
36*22dc650dSSadaf Ebrahimi    abcdef
37*22dc650dSSadaf Ebrahimi 0: abc
38*22dc650dSSadaf Ebrahimi    abcdef\=notbol
39*22dc650dSSadaf Ebrahimi 0: def
40*22dc650dSSadaf Ebrahimi
41*22dc650dSSadaf Ebrahimi/.*((abc)$|(def))/
42*22dc650dSSadaf Ebrahimi    defabc
43*22dc650dSSadaf Ebrahimi 0: defabc
44*22dc650dSSadaf Ebrahimi 1: abc
45*22dc650dSSadaf Ebrahimi 2: abc
46*22dc650dSSadaf Ebrahimi    defabc\=noteol
47*22dc650dSSadaf Ebrahimi 0: def
48*22dc650dSSadaf Ebrahimi 1: def
49*22dc650dSSadaf Ebrahimi 2: <unset>
50*22dc650dSSadaf Ebrahimi 3: def
51*22dc650dSSadaf Ebrahimi
52*22dc650dSSadaf Ebrahimi/the quick brown fox/
53*22dc650dSSadaf Ebrahimi    the quick brown fox
54*22dc650dSSadaf Ebrahimi 0: the quick brown fox
55*22dc650dSSadaf Ebrahimi\= Expect no match
56*22dc650dSSadaf Ebrahimi    The Quick Brown Fox
57*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
58*22dc650dSSadaf Ebrahimi
59*22dc650dSSadaf Ebrahimi/the quick brown fox/i
60*22dc650dSSadaf Ebrahimi    the quick brown fox
61*22dc650dSSadaf Ebrahimi 0: the quick brown fox
62*22dc650dSSadaf Ebrahimi    The Quick Brown Fox
63*22dc650dSSadaf Ebrahimi 0: The Quick Brown Fox
64*22dc650dSSadaf Ebrahimi
65*22dc650dSSadaf Ebrahimi/(*LF)abc.def/
66*22dc650dSSadaf Ebrahimi\= Expect no match
67*22dc650dSSadaf Ebrahimi    abc\ndef
68*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
69*22dc650dSSadaf Ebrahimi
70*22dc650dSSadaf Ebrahimi/(*LF)abc$/
71*22dc650dSSadaf Ebrahimi    abc
72*22dc650dSSadaf Ebrahimi 0: abc
73*22dc650dSSadaf Ebrahimi    abc\n
74*22dc650dSSadaf Ebrahimi 0: abc
75*22dc650dSSadaf Ebrahimi
76*22dc650dSSadaf Ebrahimi/(abc)\2/
77*22dc650dSSadaf EbrahimiFailed: POSIX code 15: bad back reference at offset 6
78*22dc650dSSadaf Ebrahimi
79*22dc650dSSadaf Ebrahimi/(abc\1)/
80*22dc650dSSadaf Ebrahimi\= Expect no match
81*22dc650dSSadaf Ebrahimi    abc
82*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
83*22dc650dSSadaf Ebrahimi
84*22dc650dSSadaf Ebrahimi/a*(b+)(z)(z)/
85*22dc650dSSadaf Ebrahimi    aaaabbbbzzzz
86*22dc650dSSadaf Ebrahimi 0: aaaabbbbzz
87*22dc650dSSadaf Ebrahimi 1: bbbb
88*22dc650dSSadaf Ebrahimi 2: z
89*22dc650dSSadaf Ebrahimi 3: z
90*22dc650dSSadaf Ebrahimi    aaaabbbbzzzz\=ovector=0
91*22dc650dSSadaf EbrahimiMatched without capture
92*22dc650dSSadaf Ebrahimi    aaaabbbbzzzz\=ovector=1
93*22dc650dSSadaf Ebrahimi 0: aaaabbbbzz
94*22dc650dSSadaf Ebrahimi    aaaabbbbzzzz\=ovector=2
95*22dc650dSSadaf Ebrahimi 0: aaaabbbbzz
96*22dc650dSSadaf Ebrahimi 1: bbbb
97*22dc650dSSadaf Ebrahimi
98*22dc650dSSadaf Ebrahimi/(*ANY)ab.cd/
99*22dc650dSSadaf Ebrahimi    ab-cd
100*22dc650dSSadaf Ebrahimi 0: ab-cd
101*22dc650dSSadaf Ebrahimi    ab=cd
102*22dc650dSSadaf Ebrahimi 0: ab=cd
103*22dc650dSSadaf Ebrahimi\= Expect no match
104*22dc650dSSadaf Ebrahimi    ab\ncd
105*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
106*22dc650dSSadaf Ebrahimi
107*22dc650dSSadaf Ebrahimi/ab.cd/s
108*22dc650dSSadaf Ebrahimi    ab-cd
109*22dc650dSSadaf Ebrahimi 0: ab-cd
110*22dc650dSSadaf Ebrahimi    ab=cd
111*22dc650dSSadaf Ebrahimi 0: ab=cd
112*22dc650dSSadaf Ebrahimi    ab\ncd
113*22dc650dSSadaf Ebrahimi 0: ab\x0acd
114*22dc650dSSadaf Ebrahimi
115*22dc650dSSadaf Ebrahimi/a(b)c/posix_nosub
116*22dc650dSSadaf Ebrahimi    abc
117*22dc650dSSadaf EbrahimiMatched with REG_NOSUB
118*22dc650dSSadaf Ebrahimi
119*22dc650dSSadaf Ebrahimi/a(?P<name>b)c/posix_nosub
120*22dc650dSSadaf Ebrahimi    abc
121*22dc650dSSadaf EbrahimiMatched with REG_NOSUB
122*22dc650dSSadaf Ebrahimi
123*22dc650dSSadaf Ebrahimi/(a)\1/posix_nosub
124*22dc650dSSadaf Ebrahimi    zaay
125*22dc650dSSadaf EbrahimiMatched with REG_NOSUB
126*22dc650dSSadaf Ebrahimi
127*22dc650dSSadaf Ebrahimi/a?|b?/
128*22dc650dSSadaf Ebrahimi    abc
129*22dc650dSSadaf Ebrahimi 0: a
130*22dc650dSSadaf Ebrahimi\= Expect no match
131*22dc650dSSadaf Ebrahimi    ddd\=notempty
132*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
133*22dc650dSSadaf Ebrahimi
134*22dc650dSSadaf Ebrahimi/\w+A/
135*22dc650dSSadaf Ebrahimi   CDAAAAB
136*22dc650dSSadaf Ebrahimi 0: CDAAAA
137*22dc650dSSadaf Ebrahimi
138*22dc650dSSadaf Ebrahimi/\w+A/ungreedy
139*22dc650dSSadaf Ebrahimi   CDAAAAB
140*22dc650dSSadaf Ebrahimi 0: CDA
141*22dc650dSSadaf Ebrahimi
142*22dc650dSSadaf Ebrahimi/\Biss\B/I,aftertext
143*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: info
144*22dc650dSSadaf Ebrahimi    Mississippi
145*22dc650dSSadaf Ebrahimi 0: iss
146*22dc650dSSadaf Ebrahimi 0+ issippi
147*22dc650dSSadaf Ebrahimi
148*22dc650dSSadaf Ebrahimi/abc/\
149*22dc650dSSadaf EbrahimiFailed: POSIX code 9: bad escape sequence at offset 4
150*22dc650dSSadaf Ebrahimi
151*22dc650dSSadaf Ebrahimi"(?(?C)"
152*22dc650dSSadaf EbrahimiFailed: POSIX code 11: unbalanced () at offset 6
153*22dc650dSSadaf Ebrahimi
154*22dc650dSSadaf Ebrahimi"(?(?C))"
155*22dc650dSSadaf EbrahimiFailed: POSIX code 3: pattern error at offset 6
156*22dc650dSSadaf Ebrahimi
157*22dc650dSSadaf Ebrahimi/abcd/substitute_extended
158*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: substitute_extended
159*22dc650dSSadaf Ebrahimi
160*22dc650dSSadaf Ebrahimi/\[A]{1000000}**/expand,regerror_buffsize=31
161*22dc650dSSadaf EbrahimiFailed: POSIX code 4: ? * + invalid at offset 100000
162*22dc650dSSadaf Ebrahimi** regerror() message truncated
163*22dc650dSSadaf Ebrahimi
164*22dc650dSSadaf Ebrahimi/\[A]{1000000}**/expand,regerror_buffsize=32
165*22dc650dSSadaf EbrahimiFailed: POSIX code 4: ? * + invalid at offset 1000001
166*22dc650dSSadaf Ebrahimi
167*22dc650dSSadaf Ebrahimi//posix_nosub
168*22dc650dSSadaf Ebrahimi    \=offset=70000
169*22dc650dSSadaf Ebrahimi** Ignored with POSIX interface: offset
170*22dc650dSSadaf EbrahimiMatched with REG_NOSUB
171*22dc650dSSadaf Ebrahimi
172*22dc650dSSadaf Ebrahimi/^d(e)$/posix
173*22dc650dSSadaf Ebrahimi    acdef\=posix_startend=2:4
174*22dc650dSSadaf Ebrahimi 0: de
175*22dc650dSSadaf Ebrahimi 1: e
176*22dc650dSSadaf Ebrahimi    acde\=posix_startend=2
177*22dc650dSSadaf Ebrahimi 0: de
178*22dc650dSSadaf Ebrahimi 1: e
179*22dc650dSSadaf Ebrahimi\= Expect no match
180*22dc650dSSadaf Ebrahimi    acdef
181*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
182*22dc650dSSadaf Ebrahimi    acdef\=posix_startend=2
183*22dc650dSSadaf EbrahimiNo match: POSIX code 17: match failed
184*22dc650dSSadaf Ebrahimi
185*22dc650dSSadaf Ebrahimi/^a\x{00}b$/posix
186*22dc650dSSadaf Ebrahimi    a\x{00}b\=posix_startend=0:3
187*22dc650dSSadaf Ebrahimi 0: a\x00b
188*22dc650dSSadaf Ebrahimi
189*22dc650dSSadaf Ebrahimi/"A" 00 "B"/hex
190*22dc650dSSadaf Ebrahimi    A\x{00}B\=posix_startend=0:3
191*22dc650dSSadaf Ebrahimi 0: A\x00B
192*22dc650dSSadaf Ebrahimi
193*22dc650dSSadaf Ebrahimi/ABC/use_length
194*22dc650dSSadaf Ebrahimi    ABC
195*22dc650dSSadaf Ebrahimi 0: ABC
196*22dc650dSSadaf Ebrahimi
197*22dc650dSSadaf Ebrahimi/a\b(c/literal,posix
198*22dc650dSSadaf Ebrahimi    a\\b(c
199*22dc650dSSadaf Ebrahimi 0: a\b(c
200*22dc650dSSadaf Ebrahimi
201*22dc650dSSadaf Ebrahimi/a\b(c/literal,posix,dotall
202*22dc650dSSadaf EbrahimiFailed: POSIX code 16: bad argument at offset 0
203*22dc650dSSadaf Ebrahimi
204*22dc650dSSadaf Ebrahimi/((a)(b)?(c))/posix
205*22dc650dSSadaf Ebrahimi    123ace
206*22dc650dSSadaf Ebrahimi 0: ac
207*22dc650dSSadaf Ebrahimi 1: ac
208*22dc650dSSadaf Ebrahimi 2: a
209*22dc650dSSadaf Ebrahimi 3: <unset>
210*22dc650dSSadaf Ebrahimi 4: c
211*22dc650dSSadaf Ebrahimi    123ace\=posix_startend=2:6
212*22dc650dSSadaf Ebrahimi 0: ac
213*22dc650dSSadaf Ebrahimi 1: ac
214*22dc650dSSadaf Ebrahimi 2: a
215*22dc650dSSadaf Ebrahimi 3: <unset>
216*22dc650dSSadaf Ebrahimi 4: c
217*22dc650dSSadaf Ebrahimi
218*22dc650dSSadaf Ebrahimi//posix
219*22dc650dSSadaf Ebrahimi\= Expect errors
220*22dc650dSSadaf Ebrahimi    \=null_subject
221*22dc650dSSadaf EbrahimiNo match: POSIX code 16: bad argument
222*22dc650dSSadaf Ebrahimi    abc\=null_subject
223*22dc650dSSadaf EbrahimiNo match: POSIX code 16: bad argument
224*22dc650dSSadaf Ebrahimi
225*22dc650dSSadaf Ebrahimi/(*LIMIT_HEAP=0)xx/posix
226*22dc650dSSadaf Ebrahimi\= Expect error
227*22dc650dSSadaf Ebrahimi    xxxx
228*22dc650dSSadaf EbrahimiNo match: POSIX code 14: failed to get memory
229*22dc650dSSadaf Ebrahimi
230*22dc650dSSadaf Ebrahimi# End of testdata/testinput18
231