* tests: use a explicit filehandle to share in testing -m The way stdin is shared to all participants of a subshell varies per shell, and at least the standard /bin/sh in Solaris seem to create a new copy for each command, defeating the purpose of the test. Use instead exec to create a filehandle that could then be used explicitly in the test to confirm that the stream is set. * pcre2grep: correctly handle multiple passes When the -m option is used, pcre2grep is meant to exit after enough matches are found but while leaving the stream pinned to the next position after the last match. Unfortunately, it wasn't tracking correctly the beginning of the stream on subsequent passes, and therefore it will fail to use the right seek value. Grab the position of the stream at the beginning and while at it, make sure that the stream passed hasn't been consumed already.
994 lines
26 KiB
Plaintext
994 lines
26 KiB
Plaintext
---------------------------- Test 1 ------------------------------
|
||
PATTERN at the start of a line.
|
||
In the middle of a line, PATTERN appears.
|
||
Check up on PATTERN near the end.
|
||
RC=0
|
||
---------------------------- Test 2 ------------------------------
|
||
PATTERN at the start of a line.
|
||
RC=0
|
||
---------------------------- Test 3 ------------------------------
|
||
7:PATTERN at the start of a line.
|
||
8:In the middle of a line, PATTERN appears.
|
||
10:This pattern is in lower case.
|
||
623:Check up on PATTERN near the end.
|
||
RC=0
|
||
---------------------------- Test 4 ------------------------------
|
||
4
|
||
RC=0
|
||
---------------------------- Test 5 ------------------------------
|
||
./testdata/grepinput:7:PATTERN at the start of a line.
|
||
./testdata/grepinput:8:In the middle of a line, PATTERN appears.
|
||
./testdata/grepinput:10:This pattern is in lower case.
|
||
./testdata/grepinput:623:Check up on PATTERN near the end.
|
||
./testdata/grepinputx:3:Here is the pattern again.
|
||
./testdata/grepinputx:5:Pattern
|
||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||
RC=0
|
||
---------------------------- Test 6 ------------------------------
|
||
7:PATTERN at the start of a line.
|
||
8:In the middle of a line, PATTERN appears.
|
||
10:This pattern is in lower case.
|
||
623:Check up on PATTERN near the end.
|
||
3:Here is the pattern again.
|
||
5:Pattern
|
||
42:This line contains pattern not on a line by itself.
|
||
RC=0
|
||
---------------------------- Test 7 ------------------------------
|
||
./testdata/grepinput
|
||
./testdata/grepinputx
|
||
RC=0
|
||
---------------------------- Test 8 ------------------------------
|
||
./testdata/grepinput
|
||
RC=0
|
||
---------------------------- Test 9 ------------------------------
|
||
RC=0
|
||
---------------------------- Test 10 -----------------------------
|
||
RC=1
|
||
---------------------------- Test 11 -----------------------------
|
||
1:This is a second file of input for the pcregrep tests.
|
||
2:
|
||
4:
|
||
5:Pattern
|
||
6:That time it was on a line by itself.
|
||
7:
|
||
8:To pat or not to pat, that is the question.
|
||
9:
|
||
10:complete pair
|
||
11:of lines
|
||
12:
|
||
13:That was a complete pair
|
||
14:of lines all by themselves.
|
||
15:
|
||
16:complete pair
|
||
17:of lines
|
||
18:
|
||
19:And there they were again, to check line numbers.
|
||
20:
|
||
21:one
|
||
22:two
|
||
23:three
|
||
24:four
|
||
25:five
|
||
26:six
|
||
27:seven
|
||
28:eight
|
||
29:nine
|
||
30:ten
|
||
31:eleven
|
||
32:twelve
|
||
33:thirteen
|
||
34:fourteen
|
||
35:fifteen
|
||
36:sixteen
|
||
37:seventeen
|
||
38:eighteen
|
||
39:nineteen
|
||
40:twenty
|
||
41:
|
||
43:This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 12 -----------------------------
|
||
Pattern
|
||
RC=0
|
||
---------------------------- Test 13 -----------------------------
|
||
Here is the pattern again.
|
||
That time it was on a line by itself.
|
||
seventeen
|
||
This line contains pattern not on a line by itself.
|
||
RC=0
|
||
---------------------------- Test 14 -----------------------------
|
||
./testdata/grepinputx:To pat or not to pat, that is the question.
|
||
RC=0
|
||
---------------------------- Test 15 -----------------------------
|
||
pcre2grep: Error in command-line regex at offset 4: quantifier does not follow a repeatable item
|
||
RC=2
|
||
---------------------------- Test 16 -----------------------------
|
||
pcre2grep: Failed to open ./testdata/nonexistfile: No such file or directory
|
||
RC=2
|
||
---------------------------- Test 17 -----------------------------
|
||
features should be added at the end, because some of the tests involve the
|
||
output of line numbers, and we don't want these to change.
|
||
RC=0
|
||
---------------------------- Test 18 -----------------------------
|
||
4:features should be added at the end, because some of the tests involve the
|
||
output of line numbers, and we don't want these to change.
|
||
583:brown fox jumps over the lazy dog. The quick brown fox jumps over the lazy dog.
|
||
-------------------------------------------------------------------------------
|
||
RC=0
|
||
---------------------------- Test 19 -----------------------------
|
||
Pattern
|
||
RC=0
|
||
---------------------------- Test 20 -----------------------------
|
||
10:complete pair
|
||
of lines
|
||
16:complete pair
|
||
of lines
|
||
RC=0
|
||
---------------------------- Test 21 -----------------------------
|
||
24:four
|
||
25-five
|
||
26-six
|
||
27-seven
|
||
--
|
||
34:fourteen
|
||
35-fifteen
|
||
36-sixteen
|
||
37-seventeen
|
||
RC=0
|
||
---------------------------- Test 22 -----------------------------
|
||
21-one
|
||
22-two
|
||
23-three
|
||
24:four
|
||
--
|
||
31-eleven
|
||
32-twelve
|
||
33-thirteen
|
||
34:fourteen
|
||
RC=0
|
||
---------------------------- Test 23 -----------------------------
|
||
one
|
||
two
|
||
three
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
--
|
||
eleven
|
||
twelve
|
||
thirteen
|
||
fourteen
|
||
fifteen
|
||
sixteen
|
||
seventeen
|
||
RC=0
|
||
---------------------------- Test 24 -----------------------------
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
eight
|
||
nine
|
||
ten
|
||
eleven
|
||
twelve
|
||
thirteen
|
||
fourteen
|
||
fifteen
|
||
sixteen
|
||
seventeen
|
||
eighteen
|
||
nineteen
|
||
twenty
|
||
|
||
This line contains pattern not on a line by itself.
|
||
This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 25 -----------------------------
|
||
15-
|
||
16-complete pair
|
||
17-of lines
|
||
18-
|
||
19-And there they were again, to check line numbers.
|
||
20-
|
||
21-one
|
||
22-two
|
||
23-three
|
||
24:four
|
||
25-five
|
||
26-six
|
||
27-seven
|
||
28-eight
|
||
29-nine
|
||
30-ten
|
||
31-eleven
|
||
32-twelve
|
||
33-thirteen
|
||
34:fourteen
|
||
RC=0
|
||
---------------------------- Test 26 -----------------------------
|
||
|
||
complete pair
|
||
of lines
|
||
|
||
And there they were again, to check line numbers.
|
||
|
||
one
|
||
two
|
||
three
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
eight
|
||
nine
|
||
ten
|
||
eleven
|
||
twelve
|
||
thirteen
|
||
fourteen
|
||
fifteen
|
||
sixteen
|
||
seventeen
|
||
eighteen
|
||
nineteen
|
||
twenty
|
||
|
||
This line contains pattern not on a line by itself.
|
||
This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 27 -----------------------------
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
eight
|
||
nine
|
||
ten
|
||
eleven
|
||
twelve
|
||
thirteen
|
||
fourteen
|
||
fifteen
|
||
sixteen
|
||
seventeen
|
||
eighteen
|
||
nineteen
|
||
twenty
|
||
|
||
This line contains pattern not on a line by itself.
|
||
This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 28 -----------------------------
|
||
14-of lines all by themselves.
|
||
15-
|
||
16-complete pair
|
||
17-of lines
|
||
18-
|
||
19-And there they were again, to check line numbers.
|
||
20-
|
||
21-one
|
||
22-two
|
||
23-three
|
||
24:four
|
||
25-five
|
||
26-six
|
||
27-seven
|
||
28-eight
|
||
29-nine
|
||
30-ten
|
||
31-eleven
|
||
32-twelve
|
||
33-thirteen
|
||
34:fourteen
|
||
RC=0
|
||
---------------------------- Test 29 -----------------------------
|
||
of lines all by themselves.
|
||
|
||
complete pair
|
||
of lines
|
||
|
||
And there they were again, to check line numbers.
|
||
|
||
one
|
||
two
|
||
three
|
||
four
|
||
five
|
||
six
|
||
seven
|
||
eight
|
||
nine
|
||
ten
|
||
eleven
|
||
twelve
|
||
thirteen
|
||
fourteen
|
||
fifteen
|
||
sixteen
|
||
seventeen
|
||
eighteen
|
||
nineteen
|
||
twenty
|
||
|
||
This line contains pattern not on a line by itself.
|
||
This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 30 -----------------------------
|
||
./testdata/grepinput-4-features should be added at the end, because some of the tests involve the
|
||
./testdata/grepinput-5-output of line numbers, and we don't want these to change.
|
||
./testdata/grepinput-6-
|
||
./testdata/grepinput:7:PATTERN at the start of a line.
|
||
./testdata/grepinput:8:In the middle of a line, PATTERN appears.
|
||
./testdata/grepinput-9-
|
||
./testdata/grepinput:10:This pattern is in lower case.
|
||
--
|
||
./testdata/grepinput-620-PUT NEW DATA ABOVE THIS LINE.
|
||
./testdata/grepinput-621-=============================
|
||
./testdata/grepinput-622-
|
||
./testdata/grepinput:623:Check up on PATTERN near the end.
|
||
--
|
||
./testdata/grepinputx-1-This is a second file of input for the pcregrep tests.
|
||
./testdata/grepinputx-2-
|
||
./testdata/grepinputx:3:Here is the pattern again.
|
||
./testdata/grepinputx-4-
|
||
./testdata/grepinputx:5:Pattern
|
||
--
|
||
./testdata/grepinputx-39-nineteen
|
||
./testdata/grepinputx-40-twenty
|
||
./testdata/grepinputx-41-
|
||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||
RC=0
|
||
---------------------------- Test 31 -----------------------------
|
||
./testdata/grepinput:7:PATTERN at the start of a line.
|
||
./testdata/grepinput:8:In the middle of a line, PATTERN appears.
|
||
./testdata/grepinput-9-
|
||
./testdata/grepinput:10:This pattern is in lower case.
|
||
./testdata/grepinput-11-
|
||
./testdata/grepinput-12-Here follows a whole lot of stuff that makes the file over 24KiB long.
|
||
./testdata/grepinput-13-
|
||
--
|
||
./testdata/grepinput:623:Check up on PATTERN near the end.
|
||
./testdata/grepinput-624-This is the last line of this file.
|
||
--
|
||
./testdata/grepinputx:3:Here is the pattern again.
|
||
./testdata/grepinputx-4-
|
||
./testdata/grepinputx:5:Pattern
|
||
./testdata/grepinputx-6-That time it was on a line by itself.
|
||
./testdata/grepinputx-7-
|
||
./testdata/grepinputx-8-To pat or not to pat, that is the question.
|
||
--
|
||
./testdata/grepinputx:42:This line contains pattern not on a line by itself.
|
||
./testdata/grepinputx-43-This is the last line of this file.
|
||
RC=0
|
||
---------------------------- Test 32 -----------------------------
|
||
./testdata/grepinputx
|
||
RC=0
|
||
---------------------------- Test 33 -----------------------------
|
||
pcre2grep: Failed to open ./testdata/grepnonexist: No such file or directory
|
||
RC=2
|
||
---------------------------- Test 34 -----------------------------
|
||
RC=2
|
||
---------------------------- Test 35 -----------------------------
|
||
./testdata/grepinput8
|
||
./testdata/grepinputx
|
||
RC=0
|
||
---------------------------- Test 36 -----------------------------
|
||
./testdata/grepinput3
|
||
./testdata/grepinputx
|
||
RC=0
|
||
---------------------------- Test 37 -----------------------------
|
||
24KiB long so that it needs more than a single read() call to process it. New
|
||
aaaaa0
|
||
aaaaa2
|
||
010203040506
|
||
RC=0
|
||
======== STDERR ========
|
||
pcre2grep: pcre2_match() gave error -47 while matching this text:
|
||
|
||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||
|
||
pcre2grep: pcre2_match() gave error -47 while matching this text:
|
||
|
||
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
|
||
|
||
pcre2grep: Error -46, -47, -53 or -63 means that a resource limit was exceeded.
|
||
pcre2grep: Check your regex for nested unlimited loops.
|
||
---------------------------- Test 38 ------------------------------
|
||
This line contains a binary zero here > |