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 185