new upstream release (3.3.0); modify package compatibility for Stretch
[ossec-hids.git] / src / external / pcre2-10.32 / testdata / testoutput15
diff --git a/src/external/pcre2-10.32/testdata/testoutput15 b/src/external/pcre2-10.32/testdata/testoutput15
new file mode 100644 (file)
index 0000000..d09e781
--- /dev/null
@@ -0,0 +1,420 @@
+# These are:
+#
+# (1) Tests of the match-limiting features. The results are different for
+# interpretive or JIT matching, so this test should not be run with JIT. The
+# same tests are run using JIT in test 17.
+
+# (2) Other tests that must not be run with JIT.
+
+/(a+)*zz/I
+Capturing subpattern count = 1
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+  aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazzbbbbbb\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 7
+Minimum depth limit = 7
+ 0: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaazz
+ 1: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
+  aaaaaaaaaaaaaz\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 20481
+Minimum depth limit = 30
+No match
+
+!((?:\s|//.*\\n|/[*](?:\\n|.)*?[*]/)*)!I
+Capturing subpattern count = 1
+May match empty string
+Subject length lower bound = 0
+   /* this is a C style comment */\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 64
+Minimum depth limit = 7
+ 0: /* this is a C style comment */
+ 1: /* this is a C style comment */
+
+/^(?>a)++/
+    aa\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 5
+Minimum depth limit = 3
+ 0: aa
+    aaaaaaaaa\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 12
+Minimum depth limit = 3
+ 0: aaaaaaaaa
+    
+/(a)(?1)++/
+    aa\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 7
+Minimum depth limit = 5
+ 0: aa
+ 1: a
+    aaaaaaaaa\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 21
+Minimum depth limit = 5
+ 0: aaaaaaaaa
+ 1: a
+
+/a(?:.)*?a/ims
+    abbbbbbbbbbbbbbbbbbbbba\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 24
+Minimum depth limit = 3
+ 0: abbbbbbbbbbbbbbbbbbbbba
+    
+/a(?:.(*THEN))*?a/ims
+    abbbbbbbbbbbbbbbbbbbbba\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 66
+Minimum depth limit = 45
+ 0: abbbbbbbbbbbbbbbbbbbbba
+
+/a(?:.(*THEN:ABC))*?a/ims
+    abbbbbbbbbbbbbbbbbbbbba\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 66
+Minimum depth limit = 45
+ 0: abbbbbbbbbbbbbbbbbbbbba
+
+/^(?>a+)(?>b+)(?>c+)(?>d+)(?>e+)/
+     aabbccddee\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 7
+Minimum depth limit = 7
+ 0: aabbccddee
+
+/^(?>(a+))(?>(b+))(?>(c+))(?>(d+))(?>(e+))/
+     aabbccddee\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 12
+Minimum depth limit = 12
+ 0: aabbccddee
+ 1: aa
+ 2: bb
+ 3: cc
+ 4: dd
+ 5: ee
+
+/^(?>(a+))(?>b+)(?>(c+))(?>d+)(?>(e+))/
+     aabbccddee\=find_limits
+Minimum heap limit = 0
+Minimum match limit = 10
+Minimum depth limit = 10
+ 0: aabbccddee
+ 1: aa
+ 2: cc
+ 3: ee
+
+/(*LIMIT_MATCH=12bc)abc/
+Failed: error 160 at offset 17: (*VERB) not recognized or malformed
+
+/(*LIMIT_MATCH=4294967290)abc/
+Failed: error 160 at offset 24: (*VERB) not recognized or malformed
+
+/(*LIMIT_DEPTH=4294967280)abc/I
+Capturing subpattern count = 0
+Depth limit = 4294967280
+First code unit = 'a'
+Last code unit = 'c'
+Subject length lower bound = 3
+
+/(a+)*zz/
+\= Expect no match
+    aaaaaaaaaaaaaz
+No match
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=match_limit=3000
+Failed: error -47: match limit exceeded
+
+/(a+)*zz/
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=depth_limit=10
+Failed: error -53: matching depth limit exceeded
+
+/(*LIMIT_MATCH=3000)(a+)*zz/I
+Capturing subpattern count = 1
+Match limit = 3000
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz
+Failed: error -47: match limit exceeded
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=match_limit=60000
+Failed: error -47: match limit exceeded
+
+/(*LIMIT_MATCH=60000)(*LIMIT_MATCH=3000)(a+)*zz/I
+Capturing subpattern count = 1
+Match limit = 3000
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz
+Failed: error -47: match limit exceeded
+
+/(*LIMIT_MATCH=60000)(a+)*zz/I
+Capturing subpattern count = 1
+Match limit = 60000
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect no match
+    aaaaaaaaaaaaaz
+No match
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=match_limit=3000
+Failed: error -47: match limit exceeded
+
+/(*LIMIT_DEPTH=10)(a+)*zz/I
+Capturing subpattern count = 1
+Depth limit = 10
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz
+Failed: error -53: matching depth limit exceeded
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=depth_limit=1000
+Failed: error -53: matching depth limit exceeded
+
+/(*LIMIT_DEPTH=10)(*LIMIT_DEPTH=1000)(a+)*zz/I
+Capturing subpattern count = 1
+Depth limit = 1000
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect no match
+    aaaaaaaaaaaaaz
+No match
+
+/(*LIMIT_DEPTH=1000)(a+)*zz/I
+Capturing subpattern count = 1
+Depth limit = 1000
+Starting code units: a z 
+Last code unit = 'z'
+Subject length lower bound = 2
+\= Expect no match
+    aaaaaaaaaaaaaz
+No match
+\= Expect limit exceeded
+    aaaaaaaaaaaaaz\=depth_limit=10
+Failed: error -53: matching depth limit exceeded
+    
+# These three have infinitely nested recursions. 
+    
+/((?2))((?1))/
+    abc
+Failed: error -52: nested recursion at the same subject position
+
+/((?(R2)a+|(?1)b))()/
+    aaaabcde
+Failed: error -52: nested recursion at the same subject position
+
+/(?(R)a*(?1)|((?R))b)/
+    aaaabcde
+Failed: error -52: nested recursion at the same subject position
+    
+# The allusedtext modifier does not work with JIT, which does not maintain
+# the leftchar/rightchar data.
+
+/abc(?=xyz)/allusedtext
+    abcxyzpqr
+ 0: abcxyz
+       >>>
+    abcxyzpqr\=aftertext
+ 0: abcxyz
+       >>>
+ 0+ xyzpqr
+    
+/(?<=pqr)abc(?=xyz)/allusedtext
+    xyzpqrabcxyzpqr
+ 0: pqrabcxyz
+    <<<   >>>
+    xyzpqrabcxyzpqr\=aftertext
+ 0: pqrabcxyz
+    <<<   >>>
+ 0+ xyzpqr
+    
+/a\b/
+    a.\=allusedtext
+ 0: a.
+     >
+    a\=allusedtext  
+ 0: a
+
+/abc\Kxyz/
+    abcxyz\=allusedtext
+ 0: abcxyz
+    <<<   
+
+/abc(?=xyz(*ACCEPT))/
+    abcxyz\=allusedtext
+ 0: abcxyz
+       >>>
+
+/abc(?=abcde)(?=ab)/allusedtext
+    abcabcdefg
+ 0: abcabcde
+       >>>>>
+    
+# These tests provoke recursion loops, which give a different error message
+# when JIT is used.
+
+/(?R)/I
+Capturing subpattern count = 0
+May match empty string
+Subject length lower bound = 0
+    abcd
+Failed: error -52: nested recursion at the same subject position
+
+/(a|(?R))/I
+Capturing subpattern count = 1
+May match empty string
+Subject length lower bound = 0
+    abcd
+ 0: a
+ 1: a
+    defg 
+Failed: error -52: nested recursion at the same subject position
+
+/(ab|(bc|(de|(?R))))/I
+Capturing subpattern count = 3
+May match empty string
+Subject length lower bound = 0
+    abcd
+ 0: ab
+ 1: ab
+    fghi 
+Failed: error -52: nested recursion at the same subject position
+
+/(ab|(bc|(de|(?1))))/I
+Capturing subpattern count = 3
+May match empty string
+Subject length lower bound = 0
+    abcd
+ 0: ab
+ 1: ab
+    fghi 
+Failed: error -52: nested recursion at the same subject position
+
+/x(ab|(bc|(de|(?1)x)x)x)/I
+Capturing subpattern count = 3
+First code unit = 'x'
+Subject length lower bound = 3
+    xab123
+ 0: xab
+ 1: ab
+    xfghi 
+Failed: error -52: nested recursion at the same subject position
+
+/(?!\w)(?R)/
+    abcd
+Failed: error -52: nested recursion at the same subject position
+    =abc 
+Failed: error -52: nested recursion at the same subject position
+
+/(?=\w)(?R)/
+    =abc 
+Failed: error -52: nested recursion at the same subject position
+    abcd
+Failed: error -52: nested recursion at the same subject position
+
+/(?<!\w)(?R)/
+    abcd
+Failed: error -52: nested recursion at the same subject position
+
+/(?<=\w)(?R)/
+    abcd
+Failed: error -52: nested recursion at the same subject position
+
+/(a+|(?R)b)/
+    aaa
+ 0: aaa
+ 1: aaa
+    bbb 
+Failed: error -52: nested recursion at the same subject position
+
+/[^\xff]((?1))/BI
+------------------------------------------------------------------
+        Bra
+        [^\x{ff}]
+        CBra 1
+        Recurse
+        Ket
+        Ket
+        End
+------------------------------------------------------------------
+Capturing subpattern count = 1
+Subject length lower bound = 1
+    abcd
+Failed: error -52: nested recursion at the same subject position
+    
+# These tests don't behave the same with JIT 
+
+/\w+(?C1)/BI,no_auto_possess
+------------------------------------------------------------------
+        Bra
+        \w+
+        Callout 1 8 0
+        Ket
+        End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Options: no_auto_possess
+Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
+  Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
+Subject length lower bound = 1
+    abc\=callout_fail=1
+--->abc
+  1 ^  ^    End of pattern
+  1 ^ ^     End of pattern
+  1 ^^      End of pattern
+  1  ^ ^    End of pattern
+  1  ^^     End of pattern
+  1   ^^    End of pattern
+No match
+
+/(*NO_AUTO_POSSESS)\w+(?C1)/BI
+------------------------------------------------------------------
+        Bra
+        \w+
+        Callout 1 26 0
+        Ket
+        End
+------------------------------------------------------------------
+Capturing subpattern count = 0
+Compile options: <none>
+Overall options: no_auto_possess
+Starting code units: 0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P 
+  Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z 
+Subject length lower bound = 1
+    abc\=callout_fail=1
+--->abc
+  1 ^  ^    End of pattern
+  1 ^ ^     End of pattern
+  1 ^^      End of pattern
+  1  ^ ^    End of pattern
+  1  ^^     End of pattern
+  1   ^^    End of pattern
+No match
+
+# This test breaks the JIT stack limit 
+
+/(|]+){2,2452}/
+    (|]+){2,2452}
+ 0: 
+ 1: 
+
+/(*LIMIT_HEAP=21)\[(a)]{60}/expand
+    \[a]{60}
+Failed: error -63: heap limit exceeded
+
+# End of testinput15