summaryrefslogtreecommitdiff
path: root/testdata/testoutput16
diff options
context:
space:
mode:
authorph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2014-11-02 15:34:31 +0000
committerph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2014-11-02 15:34:31 +0000
commit6a8bc7690a3773eef65bba413c1d5563f3bd63e8 (patch)
tree4c20b947e6c61300662bffdb197444423c214292 /testdata/testoutput16
parentd1beb0891db5fd4aad3ee904b631e21300251b90 (diff)
downloadpcre2-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/testoutput1656
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