diff options
author | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-10-11 15:56:25 +0000 |
---|---|---|
committer | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-10-11 15:56:25 +0000 |
commit | d9fe16892d670901b076272b6189929cdc1d7a68 (patch) | |
tree | f1b3a5a8d800f6a99bd96b0bf79e390ace356bea /testdata/testinput16 | |
parent | a77a69c9784b251c2e602f8778b8ab51b3e7dbd7 (diff) | |
download | pcre2-d9fe16892d670901b076272b6189929cdc1d7a68.tar.gz |
The tests all run clean with JIT.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@105 6239d852-aaf2-0410-a92c-79f79f948069
Diffstat (limited to 'testdata/testinput16')
-rw-r--r-- | testdata/testinput16 | 88 |
1 files changed, 69 insertions, 19 deletions
diff --git a/testdata/testinput16 b/testdata/testinput16 index 47bbb11..b331b0a 100644 --- a/testdata/testinput16 +++ b/testdata/testinput16 @@ -1,23 +1,18 @@ -# This test is run only when JIT support is available. It checks for a -# successful and an unsuccessful JIT compile, and a couple of things that are -# different with JIT. +# This test is run only when JIT support is available. It checks JIT complete +# and partial modes, and things that are different with JIT. -/abc/I,jit +#pattern jitverify -/(?(?C1)(?=a)a)/I,jit +# JIT does not support this pattern (callout at start of condition). /(?(?C1)(?=a)a)/I -/a*/I +# Check that an infinite recursion loop is caught. -/(?(R)a*(?1)|((?R))b)/jit +/(?(R)a*(?1)|((?R))b)/ aaaabcde -# Test various compile modes - -#pattern jit,jitverify - -/abcd/ +/abcd/I abcd xyz @@ -27,12 +22,6 @@ ab\=ph xyz -/abcd/ - abcd - ab\=ps - ab\=ph - xyz - /abcd/jit=1 abcd ab\=ps @@ -83,5 +72,66 @@ /^12345678abcd/m 12345678abcd + +# Limits tests that give different output with JIT. + +/(a+)*zz/I + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits + aaaaaaaaaaaaaz\=find_limits + +!((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I + /* this is a C style comment */\=find_limits + +/^(?>a)++/ + aa\=find_limits + aaaaaaaaa\=find_limits + +/(a)(?1)++/ + aa\=find_limits + aaaaaaaaa\=find_limits + +/a(?:.)*?a/ims + abbbbbbbbbbbbbbbbbbbbba\=find_limits + +/a(?:.(*THEN))*?a/ims + abbbbbbbbbbbbbbbbbbbbba\=find_limits -# End of testinput15 +/a(?:.(*THEN:ABC))*?a/ims + abbbbbbbbbbbbbbbbbbbbba\=find_limits + +/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/ + aabbccddee\=find_limits + +/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/ + aabbccddee\=find_limits + +/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/ + aabbccddee\=find_limits + +/(a+)*zz/ + aaaaaaaaaaaaaz + aaaaaaaaaaaaaz\=match_limit=3000 + +/(*LIMIT_MATCH=3000)(a+)*zz/I + aaaaaaaaaaaaaz + aaaaaaaaaaaaaz\=match_limit=60000 + +/(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I + aaaaaaaaaaaaaz + +/(*LIMIT_MATCH=60000)(a+)*zz/I + aaaaaaaaaaaaaz + aaaaaaaaaaaaaz\=match_limit=3000 + +# These three have infinitely nested recursions. + +/((?2))((?1))/ + abc + +/((?(R2)a+|(?1)b))/ + aaaabcde + +/(?(R)a*(?1)|((?R))b)/ + aaaabcde + +# End of testinput16 |