1 # There are two sorts of patterns in this test. A number of them are
2 # representative patterns whose lengths and offsets are checked. This is just a
3 # doublecheck test to ensure the sizes don't go horribly wrong when something
4 # is changed. The operation of these patterns is checked in other tests.
6 # This file also contains tests whose output varies with code unit size and/or
7 # link size. Unicode support is required for these tests. There are separate
8 # output files for each code unit size and link size.
10 #pattern fullbincode,memory
13 Memory allocation (code space): 25
14 ------------------------------------------------------------------
21 ------------------------------------------------------------------
24 Memory allocation (code space): 35
25 ------------------------------------------------------------------
36 ------------------------------------------------------------------
39 Memory allocation (code space): 33
40 ------------------------------------------------------------------
51 ------------------------------------------------------------------
54 Memory allocation (code space): 45
55 ------------------------------------------------------------------
61 ------------------------------------------------------------------
64 Memory allocation (code space): 11
65 ------------------------------------------------------------------
69 ------------------------------------------------------------------
70 Capturing subpattern count = 0
71 May match empty string
73 Subject length lower bound = 0
76 Memory allocation (code space): 13
77 ------------------------------------------------------------------
82 ------------------------------------------------------------------
83 Capturing subpattern count = 0
86 Subject length lower bound = 1
89 Memory allocation (code space): 13
90 ------------------------------------------------------------------
95 ------------------------------------------------------------------
98 Memory allocation (code space): 13
99 ------------------------------------------------------------------
104 ------------------------------------------------------------------
107 Memory allocation (code space): 17
108 ------------------------------------------------------------------
114 ------------------------------------------------------------------
117 Memory allocation (code space): 26
118 ------------------------------------------------------------------
126 ------------------------------------------------------------------
128 /^((a+)(?U)([ab]+)(?-U)([bc]+)(\w*))/
129 Memory allocation (code space): 144
130 ------------------------------------------------------------------
149 ------------------------------------------------------------------
151 "8J\$WE\<\.rX\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
152 Memory allocation (code space): 830
153 ------------------------------------------------------------------
155 5 8J$WE<.rX+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
159 ------------------------------------------------------------------
161 "\$\<\.X\+ix\[d1b\!H\#\?vV0vrK\:ZH1\=2M\>iV\;\?aPhFB\<\*vW\@QW\@sO9\}cfZA\-i\'w\%hKd6gt1UJP\,15_\#QY\$M\^Mss_U\/\]\&LK9\[5vQub\^w\[KDD\<EjmhUZ\?\.akp2dF\>qmj\;2\}YWFdYx\.Ap\]hjCPTP\(n28k\+3\;o\&WXqs\/gOXdr\$\:r\'do0\;b4c\(f_Gr\=\"\\4\)\[01T7ajQJvL\$W\~mL_sS\/4h\:x\*\[ZN\=KLs\&L5zX\/\/\>it\,o\:aU\(\;Z\>pW\&T7oP\'2K\^E\:x9\'c\[\%z\-\,64JQ5AeH_G\#KijUKghQw\^\\vea3a\?kka_G\$8\#\`\*kynsxzBLru\'\]k_\[7FrVx\}\^\=\$blx\>s\-N\%j\;D\*aZDnsw\:YKZ\%Q\.Kne9\#hP\?\+b3\(SOvL\,\^\;\&u5\@\?5C5Bhb\=m\-vEh_L15Jl\]U\)0RP6\{q\%L\^_z5E\'Dw6X\b"
162 Memory allocation (code space): 820
163 ------------------------------------------------------------------
165 5 $<.X+ix[d1b!H#?vV0vrK:ZH1=2M>iV;?aPhFB<*vW@QW@sO9}cfZA-i'w%hKd6gt1UJP,15_#QY$M^Mss_U/]&LK9[5vQub^w[KDD<EjmhUZ?.akp2dF>qmj;2}YWFdYx.Ap]hjCPTP(n28k+3;o&WXqs/gOXdr$:r'do0;b4c(f_Gr="\4)[01T7ajQJvL$W~mL_sS/4h:x*[ZN=KLs&L5zX//>it,o:aU(;Z>pW&T7oP'2K^E:x9'c[%z-,64JQ5AeH_G#KijUKghQw^\vea3a?kka_G$8#`*kynsxzBLru']k_[7FrVx}^=$blx>s-N%j;D*aZDnsw:YKZ%Q.Kne9#hP?+b3(SOvL,^;&u5@?5C5Bhb=m-vEh_L15Jl]U)0RP6{q%L^_z5E'Dw6X
169 ------------------------------------------------------------------
172 Memory allocation (code space): 32
173 ------------------------------------------------------------------
182 ------------------------------------------------------------------
185 Memory allocation (code space): 42
186 ------------------------------------------------------------------
197 ------------------------------------------------------------------
199 /a(?P<name1>b|c)d(?P<longername2>e)/
200 Memory allocation (code space): 50
201 ------------------------------------------------------------------
215 ------------------------------------------------------------------
217 /(?:a(?P<c>c(?P<d>d)))(?P<a>a)/
218 Memory allocation (code space): 65
219 ------------------------------------------------------------------
235 ------------------------------------------------------------------
237 /(?P<a>a)...(?P=a)bbb(?P>a)d/
238 Memory allocation (code space): 44
239 ------------------------------------------------------------------
253 ------------------------------------------------------------------
256 Memory allocation (code space): 43
257 ------------------------------------------------------------------
266 ------------------------------------------------------------------
269 Memory allocation (code space): 81
270 ------------------------------------------------------------------
285 ------------------------------------------------------------------
288 Memory allocation (code space): 14
289 ------------------------------------------------------------------
294 ------------------------------------------------------------------
297 Memory allocation (code space): 15
298 ------------------------------------------------------------------
303 ------------------------------------------------------------------
306 Memory allocation (code space): 16
307 ------------------------------------------------------------------
312 ------------------------------------------------------------------
315 Memory allocation (code space): 16
316 ------------------------------------------------------------------
321 ------------------------------------------------------------------
324 Memory allocation (code space): 16
325 ------------------------------------------------------------------
330 ------------------------------------------------------------------
333 Failed: error 134 at offset 9: character code point value in \x{} or \o{} is too large
336 Memory allocation (code space): 14
337 ------------------------------------------------------------------
342 ------------------------------------------------------------------
345 Memory allocation (code space): 14
346 ------------------------------------------------------------------
351 ------------------------------------------------------------------
354 Memory allocation (code space): 14
355 ------------------------------------------------------------------
360 ------------------------------------------------------------------
363 Memory allocation (code space): 14
364 ------------------------------------------------------------------
369 ------------------------------------------------------------------
371 /\x{0041}\x{2262}\x{0391}\x{002e}/I,utf
372 Memory allocation (code space): 22
373 ------------------------------------------------------------------
378 ------------------------------------------------------------------
379 Capturing subpattern count = 0
381 First code unit = 'A'
383 Subject length lower bound = 4
385 /\x{D55c}\x{ad6d}\x{C5B4}/I,utf
386 Memory allocation (code space): 23
387 ------------------------------------------------------------------
389 5 \x{d55c}\x{ad6d}\x{c5b4}
392 ------------------------------------------------------------------
393 Capturing subpattern count = 0
395 First code unit = \xed
396 Last code unit = \xb4
397 Subject length lower bound = 3
399 /\x{65e5}\x{672c}\x{8a9e}/I,utf
400 Memory allocation (code space): 23
401 ------------------------------------------------------------------
403 5 \x{65e5}\x{672c}\x{8a9e}
406 ------------------------------------------------------------------
407 Capturing subpattern count = 0
409 First code unit = \xe6
410 Last code unit = \x9e
411 Subject length lower bound = 3
414 Memory allocation (code space): 14
415 ------------------------------------------------------------------
420 ------------------------------------------------------------------
423 Memory allocation (code space): 53
424 ------------------------------------------------------------------
429 ------------------------------------------------------------------
431 /^[\x{100}\E-\Q\E\x{150}]/utf
432 Memory allocation (code space): 24
433 ------------------------------------------------------------------
439 ------------------------------------------------------------------
442 Memory allocation (code space): 24
443 ------------------------------------------------------------------
449 ------------------------------------------------------------------
452 Failed: error 106 at offset 15: missing terminating ] for character class
455 Memory allocation (code space): 21
456 ------------------------------------------------------------------
461 ------------------------------------------------------------------
464 Memory allocation (code space): 21
465 ------------------------------------------------------------------
470 ------------------------------------------------------------------
473 Memory allocation (code space): 21
474 ------------------------------------------------------------------
479 ------------------------------------------------------------------
482 Memory allocation (code space): 21
483 ------------------------------------------------------------------
488 ------------------------------------------------------------------
490 /[abc\p{L}\x{0660}]/utf
491 Memory allocation (code space): 56
492 ------------------------------------------------------------------
497 ------------------------------------------------------------------
500 Memory allocation (code space): 21
501 ------------------------------------------------------------------
506 ------------------------------------------------------------------
509 Memory allocation (code space): 54
510 ------------------------------------------------------------------
515 ------------------------------------------------------------------
517 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/i,utf
518 Memory allocation (code space): 29
519 ------------------------------------------------------------------
521 5 /i A\x{391}\x{10427}\x{ff3a}\x{1fb0}
524 ------------------------------------------------------------------
526 /A\x{391}\x{10427}\x{ff3a}\x{1fb0}/utf
527 Memory allocation (code space): 29
528 ------------------------------------------------------------------
530 5 A\x{391}\x{10427}\x{ff3a}\x{1fb0}
533 ------------------------------------------------------------------
535 /[\x{105}-\x{109}]/i,utf
536 Memory allocation (code space): 23
537 ------------------------------------------------------------------
542 ------------------------------------------------------------------
545 Memory allocation (code space): 56
546 ------------------------------------------------------------------
560 ------------------------------------------------------------------
563 Memory allocation (code space): 44
564 ------------------------------------------------------------------
576 ------------------------------------------------------------------
579 Memory allocation (code space): 13
580 ------------------------------------------------------------------
585 ------------------------------------------------------------------
588 Memory allocation (code space): 13
589 ------------------------------------------------------------------
594 ------------------------------------------------------------------
597 Memory allocation (code space): 13
598 ------------------------------------------------------------------
603 ------------------------------------------------------------------
606 Memory allocation (code space): 14
607 ------------------------------------------------------------------
612 ------------------------------------------------------------------
615 Memory allocation (code space): 13
616 ------------------------------------------------------------------
621 ------------------------------------------------------------------
624 Memory allocation (code space): 13
625 ------------------------------------------------------------------
630 ------------------------------------------------------------------
633 Memory allocation (code space): 13
634 ------------------------------------------------------------------
639 ------------------------------------------------------------------
642 Memory allocation (code space): 14
643 ------------------------------------------------------------------
648 ------------------------------------------------------------------
653 ------------------------------------------------------------------
658 ------------------------------------------------------------------
660 /[[:^alpha:][:^cntrl:]]+/utf,ucp
661 ------------------------------------------------------------------
666 ------------------------------------------------------------------
668 /[[:^cntrl:][:^alpha:]]+/utf,ucp
669 ------------------------------------------------------------------
674 ------------------------------------------------------------------
676 /[[:alpha:]]+/utf,ucp
677 ------------------------------------------------------------------
682 ------------------------------------------------------------------
684 /[[:^alpha:]\S]+/utf,ucp
685 ------------------------------------------------------------------
690 ------------------------------------------------------------------
692 /abc(d|e)(*THEN)x(123(*THEN)4|567(b|q)(*THEN)xx)/
693 ------------------------------------------------------------------
719 ------------------------------------------------------------------
721 /(((a\2)|(a*)\g<-1>))*a?/
722 ------------------------------------------------------------------
743 ------------------------------------------------------------------
746 ------------------------------------------------------------------
758 ------------------------------------------------------------------
761 ------------------------------------------------------------------
770 ------------------------------------------------------------------
773 ------------------------------------------------------------------
790 ------------------------------------------------------------------
792 /.((?3)(?R)()(?2)|\1|$)()/
793 ------------------------------------------------------------------
813 ------------------------------------------------------------------
815 /(?1)()((((((\1++))\x85)+)|))/
816 ------------------------------------------------------------------
840 ------------------------------------------------------------------
842 # Check the absolute limit on nesting (?| etc. This varies with code unit
843 # width because the workspace is a different number of bytes. It will fail
844 # with link size 2 in 8-bit and 16-bit but not in 32-bit.
846 /(?|(?|(?J:(?|(?x:(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|(?|
847 )))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))
848 /parens_nest_limit=1000,-fullbincode
850 # Use "expand" to create some very long patterns with nested parentheses, in
851 # order to test workspace overflow. Again, this varies with code unit width,
852 # and even when it fails in two modes, the error offset differs. It also varies
853 # with link size - hence multiple tests with different values.
855 /(?'ABC'\[[bar](]{792}*THEN:\[A]{255}\[)]{793}/expand,-fullbincode,parens_nest_limit=1000
857 /(?'ABC'\[[bar](]{793}*THEN:\[A]{255}\[)]{794}/expand,-fullbincode,parens_nest_limit=1000
859 /(?'ABC'\[[bar](]{1793}*THEN:\[A]{255}\[)]{1794}/expand,-fullbincode,parens_nest_limit=2000
860 Failed: error 186 at offset 12820: regular expression is too complicated
862 /(?(1)(?1)){8,}+()/debug
863 ------------------------------------------------------------------
905 ------------------------------------------------------------------
906 Capturing subpattern count = 1
907 Max back reference = 1
908 May match empty string
909 Subject length lower bound = 0
914 /(?(1)|a(?1)b){2,}+()/debug
915 ------------------------------------------------------------------
939 ------------------------------------------------------------------
940 Capturing subpattern count = 1
941 Max back reference = 1
942 May match empty string
943 Subject length lower bound = 0
947 /((?1)(?2)(?3)(?4)(?5)(?6)(?7)(?8)(?9)(?9)(?8)(?7)(?6)(?5)(?4)(?3)(?2)(?1)(?0)){2,}()()()()()()()()()/debug
948 ------------------------------------------------------------------
1012 ------------------------------------------------------------------
1013 Capturing subpattern count = 10
1014 May match empty string
1015 Subject length lower bound = 0
1017 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)/
1018 Failed: error 114 at offset 509: missing closing parenthesis
1020 /([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00]([00](*ACCEPT)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))/-fullbincode