226 lines
3.7 KiB
Plaintext
226 lines
3.7 KiB
Plaintext
# This set of tests is run only with the 8-bit library. It tests the POSIX
|
|
# interface, which is supported only with the 8-bit library. This test should
|
|
# not be run with JIT (which is not available for the POSIX interface).
|
|
|
|
#forbid_utf
|
|
#pattern posix
|
|
|
|
# Test some invalid options
|
|
|
|
/abc/auto_callout
|
|
** Ignored with POSIX interface: auto_callout
|
|
|
|
/abc/
|
|
abc\=find_limits
|
|
** Ignored with POSIX interface: find_limits
|
|
0: abc
|
|
|
|
/abc/
|
|
abc\=partial_hard
|
|
** Ignored with POSIX interface: partial_hard
|
|
0: abc
|
|
|
|
/a(())bc/parens_nest_limit=1
|
|
** Ignored with POSIX interface: parens_nest_limit
|
|
|
|
/abc/allow_surrogate_escapes,max_pattern_length=2
|
|
** Ignored with POSIX interface: allow_surrogate_escapes max_pattern_length
|
|
|
|
# Real tests
|
|
|
|
/abc/
|
|
abc
|
|
0: abc
|
|
|
|
/^abc|def/
|
|
abcdef
|
|
0: abc
|
|
abcdef\=notbol
|
|
0: def
|
|
|
|
/.*((abc)$|(def))/
|
|
defabc
|
|
0: defabc
|
|
1: abc
|
|
2: abc
|
|
defabc\=noteol
|
|
0: def
|
|
1: def
|
|
2: <unset>
|
|
3: def
|
|
|
|
/the quick brown fox/
|
|
the quick brown fox
|
|
0: the quick brown fox
|
|
\= Expect no match
|
|
The Quick Brown Fox
|
|
No match: POSIX code 17: match failed
|
|
|
|
/the quick brown fox/i
|
|
the quick brown fox
|
|
0: the quick brown fox
|
|
The Quick Brown Fox
|
|
0: The Quick Brown Fox
|
|
|
|
/(*LF)abc.def/
|
|
\= Expect no match
|
|
abc\ndef
|
|
No match: POSIX code 17: match failed
|
|
|
|
/(*LF)abc$/
|
|
abc
|
|
0: abc
|
|
abc\n
|
|
0: abc
|
|
|
|
/(abc)\2/
|
|
Failed: POSIX code 15: bad back reference at offset 6
|
|
|
|
/(abc\1)/
|
|
\= Expect no match
|
|
abc
|
|
No match: POSIX code 17: match failed
|
|
|
|
/a*(b+)(z)(z)/
|
|
aaaabbbbzzzz
|
|
0: aaaabbbbzz
|
|
1: bbbb
|
|
2: z
|
|
3: z
|
|
aaaabbbbzzzz\=ovector=0
|
|
Matched without capture
|
|
aaaabbbbzzzz\=ovector=1
|
|
0: aaaabbbbzz
|
|
aaaabbbbzzzz\=ovector=2
|
|
0: aaaabbbbzz
|
|
1: bbbb
|
|
|
|
/(*ANY)ab.cd/
|
|
ab-cd
|
|
0: ab-cd
|
|
ab=cd
|
|
0: ab=cd
|
|
\= Expect no match
|
|
ab\ncd
|
|
No match: POSIX code 17: match failed
|
|
|
|
/ab.cd/s
|
|
ab-cd
|
|
0: ab-cd
|
|
ab=cd
|
|
0: ab=cd
|
|
ab\ncd
|
|
0: ab\x0acd
|
|
|
|
/a(b)c/posix_nosub
|
|
abc
|
|
Matched with REG_NOSUB
|
|
|
|
/a(?P<name>b)c/posix_nosub
|
|
abc
|
|
Matched with REG_NOSUB
|
|
|
|
/(a)\1/posix_nosub
|
|
zaay
|
|
Matched with REG_NOSUB
|
|
|
|
/a?|b?/
|
|
abc
|
|
0: a
|
|
\= Expect no match
|
|
ddd\=notempty
|
|
No match: POSIX code 17: match failed
|
|
|
|
/\w+A/
|
|
CDAAAAB
|
|
0: CDAAAA
|
|
|
|
/\w+A/ungreedy
|
|
CDAAAAB
|
|
0: CDA
|
|
|
|
/\Biss\B/I,aftertext
|
|
** Ignored with POSIX interface: info
|
|
Mississippi
|
|
0: iss
|
|
0+ issippi
|
|
|
|
/abc/\
|
|
Failed: POSIX code 9: bad escape sequence at offset 4
|
|
|
|
"(?(?C)"
|
|
Failed: POSIX code 11: unbalanced () at offset 6
|
|
|
|
"(?(?C))"
|
|
Failed: POSIX code 3: pattern error at offset 6
|
|
|
|
/abcd/substitute_extended
|
|
** Ignored with POSIX interface: substitute_extended
|
|
|
|
/\[A]{1000000}**/expand,regerror_buffsize=31
|
|
Failed: POSIX code 4: ? * + invalid at offset 100000
|
|
** regerror() message truncated
|
|
|
|
/\[A]{1000000}**/expand,regerror_buffsize=32
|
|
Failed: POSIX code 4: ? * + invalid at offset 1000001
|
|
|
|
//posix_nosub
|
|
\=offset=70000
|
|
** Ignored with POSIX interface: offset
|
|
Matched with REG_NOSUB
|
|
|
|
/^d(e)$/posix
|
|
acdef\=posix_startend=2:4
|
|
0: de
|
|
1: e
|
|
acde\=posix_startend=2
|
|
0: de
|
|
1: e
|
|
\= Expect no match
|
|
acdef
|
|
No match: POSIX code 17: match failed
|
|
acdef\=posix_startend=2
|
|
No match: POSIX code 17: match failed
|
|
|
|
/^a\x{00}b$/posix
|
|
a\x{00}b\=posix_startend=0:3
|
|
0: a\x00b
|
|
|
|
/"A" 00 "B"/hex
|
|
A\x{00}B\=posix_startend=0:3
|
|
0: A\x00B
|
|
|
|
/ABC/use_length
|
|
ABC
|
|
0: ABC
|
|
|
|
/a\b(c/literal,posix
|
|
a\\b(c
|
|
0: a\b(c
|
|
|
|
/a\b(c/literal,posix,dotall
|
|
Failed: POSIX code 16: bad argument at offset 0
|
|
|
|
/((a)(b)?(c))/posix
|
|
123ace
|
|
0: ac
|
|
1: ac
|
|
2: a
|
|
3: <unset>
|
|
4: c
|
|
123ace\=posix_startend=2:6
|
|
0: ac
|
|
1: ac
|
|
2: a
|
|
3: <unset>
|
|
4: c
|
|
|
|
//posix
|
|
\= Expect errors
|
|
\=null_subject
|
|
No match: POSIX code 16: bad argument
|
|
abc\=null_subject
|
|
No match: POSIX code 16: bad argument
|
|
|
|
# End of testdata/testinput18
|