diff options
author | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-11-02 15:34:31 +0000 |
---|---|---|
committer | ph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069> | 2014-11-02 15:34:31 +0000 |
commit | 6a8bc7690a3773eef65bba413c1d5563f3bd63e8 (patch) | |
tree | 4c20b947e6c61300662bffdb197444423c214292 /testdata/testoutput16 | |
parent | d1beb0891db5fd4aad3ee904b631e21300251b90 (diff) | |
download | pcre2-6a8bc7690a3773eef65bba413c1d5563f3bd63e8.tar.gz |
Add tests for JIT fast path.
git-svn-id: svn://vcs.exim.org/pcre2/code/trunk@130 6239d852-aaf2-0410-a92c-79f79f948069
Diffstat (limited to 'testdata/testoutput16')
-rw-r--r-- | testdata/testoutput16 | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/testdata/testoutput16 b/testdata/testoutput16 index 0c02742..1631e9e 100644 --- a/testdata/testoutput16 +++ b/testdata/testoutput16 @@ -38,6 +38,16 @@ Partial match: ab (JIT) xyz No match (JIT) +/abcd/jitfast + abcd + 0: abcd (JIT) + ab\=ps +Partial match: ab (JIT) + ab\=ph +Partial match: ab (JIT) + xyz +No match (JIT) + /abcd/jit=1 abcd 0: abcd (JIT) @@ -50,6 +60,18 @@ No match (JIT) xyz\=ps No match +/abcd/jit=1,jitfast + abcd + 0: abcd (JIT) + ab\=ps +Failed: error -43: bad JIT option + ab\=ph +Failed: error -43: bad JIT option + xyz +No match (JIT) + xyz\=ps +Failed: error -43: bad JIT option + /abcd/jit=2 abcd 0: abcd @@ -60,6 +82,16 @@ Partial match: ab xyz No match +/abcd/jit=2,jitfast + abcd +Failed: error -43: bad JIT option + ab\=ps +Partial match: ab (JIT) + ab\=ph +Failed: error -43: bad JIT option + xyz +Failed: error -43: bad JIT option + /abcd/jit=3 abcd 0: abcd (JIT) @@ -207,6 +239,14 @@ Minimum match limit = 6 2: cc 3: ee +/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/jitfast + aabbccddee\=find_limits +Minimum match limit = 6 + 0: aabbccddee (JIT) + 1: aa + 2: cc + 3: ee + /(a+)*zz/ aaaaaaaaaaaaaz No match (JIT) @@ -261,4 +301,20 @@ Failed: error -44: JIT stack limit reached aaaabcde Failed: error -44: JIT stack limit reached +# Invalid options disable JIT when called via pcre2_match(), causing the +# match to happen via the interpreter, but for fast JIT invalid options are +# ignored, so an unanchored match happens. + +/abcd/jit + abcd\=anchored + 0: abcd + fail abcd\=anchored +No match + +/abcd/jitfast + abcd\=anchored + 0: abcd (JIT) + succeed abcd\=anchored + 0: abcd (JIT) + # End of testinput16 |