summaryrefslogtreecommitdiff
path: root/testdata/testinput16
diff options
context:
space:
mode:
authorph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2014-10-11 15:56:25 +0000
committerph10 <ph10@6239d852-aaf2-0410-a92c-79f79f948069>2014-10-11 15:56:25 +0000
commitd9fe16892d670901b076272b6189929cdc1d7a68 (patch)
treef1b3a5a8d800f6a99bd96b0bf79e390ace356bea /testdata/testinput16
parenta77a69c9784b251c2e602f8778b8ab51b3e7dbd7 (diff)
downloadpcre2-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/testinput1688
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