# 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 /(?=(a\K))/ a Start of matched string is beyond its end - displaying from end to start. 0: a 1: a /^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 # End of testdata/testinput18