xref: /aosp_15_r20/external/pcre/RunGrepTest.bat (revision 22dc650d8ae982c6770746019a6f94af92b0f024)
1*22dc650dSSadaf Ebrahimi@echo off
2*22dc650dSSadaf Ebrahimi
3*22dc650dSSadaf Ebrahimi:: Run pcre2grep tests. The assumption is that the PCRE2 tests check the library
4*22dc650dSSadaf Ebrahimi:: itself. What we are checking here is the file handling and options that are
5*22dc650dSSadaf Ebrahimi:: supported by pcre2grep. This script must be run in the build directory.
6*22dc650dSSadaf Ebrahimi:: (jmh: I've only tested in the main directory, using my own builds.)
7*22dc650dSSadaf Ebrahimi
8*22dc650dSSadaf Ebrahimisetlocal enabledelayedexpansion
9*22dc650dSSadaf Ebrahimi
10*22dc650dSSadaf Ebrahimi:: Remove any non-default colouring that the caller may have set.
11*22dc650dSSadaf Ebrahimi
12*22dc650dSSadaf Ebrahimiset PCRE2GREP_COLOUR=
13*22dc650dSSadaf Ebrahimiset PCRE2GREP_COLOR=
14*22dc650dSSadaf Ebrahimiset PCREGREP_COLOUR=
15*22dc650dSSadaf Ebrahimiset PCREGREP_COLOR=
16*22dc650dSSadaf Ebrahimiset GREP_COLORS=
17*22dc650dSSadaf Ebrahimiset GREP_COLOR=
18*22dc650dSSadaf Ebrahimi
19*22dc650dSSadaf Ebrahimi:: Remember the current (build) directory and set the program to be tested.
20*22dc650dSSadaf Ebrahimi
21*22dc650dSSadaf Ebrahimiset builddir="%CD%"
22*22dc650dSSadaf Ebrahimiset pcre2grep=%builddir%\pcre2grep.exe
23*22dc650dSSadaf Ebrahimiset pcre2test=%builddir%\pcre2test.exe
24*22dc650dSSadaf Ebrahimi
25*22dc650dSSadaf Ebrahimiif NOT exist %pcre2grep% (
26*22dc650dSSadaf Ebrahimi  echo ** %pcre2grep% does not exist.
27*22dc650dSSadaf Ebrahimi  exit /b 1
28*22dc650dSSadaf Ebrahimi)
29*22dc650dSSadaf Ebrahimi
30*22dc650dSSadaf Ebrahimiif NOT exist %pcre2test% (
31*22dc650dSSadaf Ebrahimi  echo ** %pcre2test% does not exist.
32*22dc650dSSadaf Ebrahimi  exit /b 1
33*22dc650dSSadaf Ebrahimi)
34*22dc650dSSadaf Ebrahimi
35*22dc650dSSadaf Ebrahimifor /f "delims=" %%a in ('"%pcre2grep%" -V') do set pcre2grep_version=%%a
36*22dc650dSSadaf Ebrahimiecho Testing %pcre2grep_version%
37*22dc650dSSadaf Ebrahimi
38*22dc650dSSadaf Ebrahimi:: Set up a suitable "diff" command for comparison. Some systems have a diff
39*22dc650dSSadaf Ebrahimi:: that lacks a -u option. Try to deal with this; better do the test for the -b
40*22dc650dSSadaf Ebrahimi:: option as well. Use FC if there's no diff, taking care to ignore equality.
41*22dc650dSSadaf Ebrahimi
42*22dc650dSSadaf Ebrahimiset cf=
43*22dc650dSSadaf Ebrahimiset cfout=
44*22dc650dSSadaf Ebrahimidiff -b  nul nul 2>nul && set cf=diff -b
45*22dc650dSSadaf Ebrahimidiff -u  nul nul 2>nul && set cf=diff -u
46*22dc650dSSadaf Ebrahimidiff -ub nul nul 2>nul && set cf=diff -ub
47*22dc650dSSadaf Ebrahimiif NOT defined cf (
48*22dc650dSSadaf Ebrahimi  set cf=fc /n
49*22dc650dSSadaf Ebrahimi  set "cfout=>testcf || (type testcf & cmd /c exit /b 1)"
50*22dc650dSSadaf Ebrahimi)
51*22dc650dSSadaf Ebrahimi
52*22dc650dSSadaf Ebrahimi:: Set srcdir to the current or parent directory, whichever one contains the
53*22dc650dSSadaf Ebrahimi:: test data. Subsequently, we run most of the pcre2grep tests in the source
54*22dc650dSSadaf Ebrahimi:: directory so that the file names in the output are always the same.
55*22dc650dSSadaf Ebrahimi
56*22dc650dSSadaf Ebrahimiif NOT defined srcdir set srcdir=.
57*22dc650dSSadaf Ebrahimiif NOT exist %srcdir%\testdata\ (
58*22dc650dSSadaf Ebrahimi  if exist testdata\ (
59*22dc650dSSadaf Ebrahimi    set srcdir=.
60*22dc650dSSadaf Ebrahimi  ) else if exist ..\testdata\ (
61*22dc650dSSadaf Ebrahimi    set srcdir=..
62*22dc650dSSadaf Ebrahimi  ) else if exist ..\..\testdata\ (
63*22dc650dSSadaf Ebrahimi    set srcdir=..\..
64*22dc650dSSadaf Ebrahimi  ) else (
65*22dc650dSSadaf Ebrahimi    echo Cannot find the testdata directory
66*22dc650dSSadaf Ebrahimi    exit /b 1
67*22dc650dSSadaf Ebrahimi  )
68*22dc650dSSadaf Ebrahimi)
69*22dc650dSSadaf Ebrahimi
70*22dc650dSSadaf Ebrahimi:: Check for the availability of UTF-8 support
71*22dc650dSSadaf Ebrahimi
72*22dc650dSSadaf Ebrahimi%pcre2test% -C unicode >nul
73*22dc650dSSadaf Ebrahimiset utf8=%ERRORLEVEL%
74*22dc650dSSadaf Ebrahimi
75*22dc650dSSadaf Ebrahimi:: Check default newline convention. If it does not include LF, force LF.
76*22dc650dSSadaf Ebrahimi
77*22dc650dSSadaf Ebrahimifor /f %%a in ('"%pcre2test%" -C newline') do set nl=%%a
78*22dc650dSSadaf Ebrahimiif NOT "%nl%" == "LF" if NOT "%nl%" == "ANY" if NOT "%nl%" == "ANYCRLF" (
79*22dc650dSSadaf Ebrahimi  set pcre2grep=%pcre2grep% -N LF
80*22dc650dSSadaf Ebrahimi  echo Default newline setting forced to LF
81*22dc650dSSadaf Ebrahimi)
82*22dc650dSSadaf Ebrahimi
83*22dc650dSSadaf Ebrahimi:: Create a simple printf via cscript/JScript (an actual printf may translate
84*22dc650dSSadaf Ebrahimi:: LF to CRLF, which this one does not).
85*22dc650dSSadaf Ebrahimi
86*22dc650dSSadaf Ebrahimiecho WScript.StdOut.Write(WScript.Arguments(0).replace(/\\r/g, "\r").replace(/\\n/g, "\n")) >printf.js
87*22dc650dSSadaf Ebrahimiset printf=cscript //nologo printf.js
88*22dc650dSSadaf Ebrahimi
89*22dc650dSSadaf Ebrahimi:: ------ Normal tests ------
90*22dc650dSSadaf Ebrahimi
91*22dc650dSSadaf Ebrahimiecho Testing pcre2grep main features
92*22dc650dSSadaf Ebrahimi
93*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 1 ------------------------------>testtrygrep
94*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% PATTERN ./testdata/grepinput & popd) >>testtrygrep
95*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
96*22dc650dSSadaf Ebrahimi
97*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 2 ------------------------------>>testtrygrep
98*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "^PATTERN" ./testdata/grepinput & popd) >>testtrygrep
99*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
100*22dc650dSSadaf Ebrahimi
101*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 3 ------------------------------>>testtrygrep
102*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -in PATTERN ./testdata/grepinput & popd) >>testtrygrep
103*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
104*22dc650dSSadaf Ebrahimi
105*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 4 ------------------------------>>testtrygrep
106*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -ic PATTERN ./testdata/grepinput & popd) >>testtrygrep
107*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
108*22dc650dSSadaf Ebrahimi
109*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 5 ------------------------------>>testtrygrep
110*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -in PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
111*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
112*22dc650dSSadaf Ebrahimi
113*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 6 ------------------------------>>testtrygrep
114*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -inh PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
115*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
116*22dc650dSSadaf Ebrahimi
117*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 7 ------------------------------>>testtrygrep
118*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -il PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
119*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
120*22dc650dSSadaf Ebrahimi
121*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 8 ------------------------------>>testtrygrep
122*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -l PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
123*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
124*22dc650dSSadaf Ebrahimi
125*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 9 ------------------------------>>testtrygrep
126*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -q PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
127*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
128*22dc650dSSadaf Ebrahimi
129*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 10 ----------------------------->>testtrygrep
130*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -q NEVER-PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
131*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
132*22dc650dSSadaf Ebrahimi
133*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 11 ----------------------------->>testtrygrep
134*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -vn pattern ./testdata/grepinputx & popd) >>testtrygrep
135*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
136*22dc650dSSadaf Ebrahimi
137*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 12 ----------------------------->>testtrygrep
138*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -ix pattern ./testdata/grepinputx & popd) >>testtrygrep
139*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
140*22dc650dSSadaf Ebrahimi
141*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 13 ----------------------------->>testtrygrep
142*22dc650dSSadaf Ebrahimiecho seventeen >testtemp1grep
143*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -f./testdata/greplist -f %builddir%\testtemp1grep ./testdata/grepinputx & popd) >>testtrygrep
144*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
145*22dc650dSSadaf Ebrahimi
146*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 14 ----------------------------->>testtrygrep
147*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -w pat ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
148*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
149*22dc650dSSadaf Ebrahimi
150*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 15 ----------------------------->>testtrygrep
151*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "abc^*" ./testdata/grepinput & popd) >>testtrygrep 2>&1
152*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
153*22dc650dSSadaf Ebrahimi
154*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 16 ----------------------------->>testtrygrep
155*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% abc ./testdata/grepinput ./testdata/nonexistfile & popd) >>testtrygrep 2>&1
156*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
157*22dc650dSSadaf Ebrahimi
158*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 17 ----------------------------->>testtrygrep
159*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -M "the\noutput" ./testdata/grepinput & popd) >>testtrygrep
160*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
161*22dc650dSSadaf Ebrahimi
162*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 18 ----------------------------->>testtrygrep
163*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Mn "(the\noutput|dog\.\n--)" ./testdata/grepinput & popd) >>testtrygrep
164*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
165*22dc650dSSadaf Ebrahimi
166*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 19 ----------------------------->>testtrygrep
167*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Mix "Pattern" ./testdata/grepinputx & popd) >>testtrygrep
168*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
169*22dc650dSSadaf Ebrahimi
170*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 20 ----------------------------->>testtrygrep
171*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Mixn "complete pair\nof lines" ./testdata/grepinputx & popd) >>testtrygrep
172*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
173*22dc650dSSadaf Ebrahimi
174*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 21 ----------------------------->>testtrygrep
175*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -nA3 "four" ./testdata/grepinputx & popd) >>testtrygrep
176*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
177*22dc650dSSadaf Ebrahimi
178*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 22 ----------------------------->>testtrygrep
179*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -nB3 "four" ./testdata/grepinputx & popd) >>testtrygrep
180*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
181*22dc650dSSadaf Ebrahimi
182*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 23 ----------------------------->>testtrygrep
183*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -C3 "four" ./testdata/grepinputx & popd) >>testtrygrep
184*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
185*22dc650dSSadaf Ebrahimi
186*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 24 ----------------------------->>testtrygrep
187*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -A9 "four" ./testdata/grepinputx & popd) >>testtrygrep
188*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
189*22dc650dSSadaf Ebrahimi
190*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 25 ----------------------------->>testtrygrep
191*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -nB9 "four" ./testdata/grepinputx & popd) >>testtrygrep
192*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
193*22dc650dSSadaf Ebrahimi
194*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 26 ----------------------------->>testtrygrep
195*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -A9 -B9 "four" ./testdata/grepinputx & popd) >>testtrygrep
196*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
197*22dc650dSSadaf Ebrahimi
198*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 27 ----------------------------->>testtrygrep
199*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -A10 "four" ./testdata/grepinputx & popd) >>testtrygrep
200*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
201*22dc650dSSadaf Ebrahimi
202*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 28 ----------------------------->>testtrygrep
203*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -nB10 "four" ./testdata/grepinputx & popd) >>testtrygrep
204*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
205*22dc650dSSadaf Ebrahimi
206*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 29 ----------------------------->>testtrygrep
207*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -C12 -B10 "four" ./testdata/grepinputx & popd) >>testtrygrep
208*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
209*22dc650dSSadaf Ebrahimi
210*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 30 ----------------------------->>testtrygrep
211*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -inB3 "pattern" ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
212*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
213*22dc650dSSadaf Ebrahimi
214*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 31 ----------------------------->>testtrygrep
215*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -inA3 "pattern" ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
216*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
217*22dc650dSSadaf Ebrahimi
218*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 32 ----------------------------->>testtrygrep
219*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L "fox" ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
220*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
221*22dc650dSSadaf Ebrahimi
222*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 33 ----------------------------->>testtrygrep
223*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "fox" ./testdata/grepnonexist & popd) >>testtrygrep 2>&1
224*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
225*22dc650dSSadaf Ebrahimi
226*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 34 ----------------------------->>testtrygrep
227*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -s "fox" ./testdata/grepnonexist & popd) >>testtrygrep 2>&1
228*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
229*22dc650dSSadaf Ebrahimi
230*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 35 ----------------------------->>testtrygrep
231*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include=grepinputx --include grepinput8 --exclude-dir="^\." "fox" ./testdata | sort & popd) >>testtrygrep
232*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
233*22dc650dSSadaf Ebrahimi
234*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 36 ----------------------------->>testtrygrep
235*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include=grepinput --exclude "grepinput$" --exclude=grepinput8 --exclude-dir="^\." "fox" ./testdata | sort & popd) >>testtrygrep
236*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
237*22dc650dSSadaf Ebrahimi
238*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 37 ----------------------------->>testtrygrep
239*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep%  "^(a+)*\d" ./testdata/grepinput & popd) >>testtrygrep 2>teststderrgrep
240*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
241*22dc650dSSadaf Ebrahimiecho ======== STDERR ========>>testtrygrep
242*22dc650dSSadaf Ebrahimitype teststderrgrep >>testtrygrep
243*22dc650dSSadaf Ebrahimi
244*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 38 ------------------------------>>testtrygrep
245*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% ">\x00<" ./testdata/grepinput & popd) >>testtrygrep
246*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
247*22dc650dSSadaf Ebrahimi
248*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 39 ------------------------------>>testtrygrep
249*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -A1 "before the binary zero" ./testdata/grepinput & popd) >>testtrygrep
250*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
251*22dc650dSSadaf Ebrahimi
252*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 40 ------------------------------>>testtrygrep
253*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -B1 "after the binary zero" ./testdata/grepinput & popd) >>testtrygrep
254*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
255*22dc650dSSadaf Ebrahimi
256*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 41 ------------------------------>>testtrygrep
257*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -B1 -o "\w+ the binary zero" ./testdata/grepinput & popd) >>testtrygrep
258*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
259*22dc650dSSadaf Ebrahimi
260*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 42 ------------------------------>>testtrygrep
261*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -B1 -onH "\w+ the binary zero" ./testdata/grepinput & popd) >>testtrygrep
262*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
263*22dc650dSSadaf Ebrahimi
264*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 43 ------------------------------>>testtrygrep
265*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -on "before|zero|after" ./testdata/grepinput & popd) >>testtrygrep
266*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
267*22dc650dSSadaf Ebrahimi
268*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 44 ------------------------------>>testtrygrep
269*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -on -e before -ezero -e after ./testdata/grepinput & popd) >>testtrygrep
270*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
271*22dc650dSSadaf Ebrahimi
272*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 45 ------------------------------>>testtrygrep
273*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -on -f ./testdata/greplist -e binary ./testdata/grepinput & popd) >>testtrygrep
274*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
275*22dc650dSSadaf Ebrahimi
276*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 46 ------------------------------>>testtrygrep
277*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -eabc -e "(unclosed" ./testdata/grepinput & popd) >>testtrygrep 2>&1
278*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
279*22dc650dSSadaf Ebrahimi
280*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 47 ------------------------------>>testtrygrep
281*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Fx AB.VE^
282*22dc650dSSadaf Ebrahimi
283*22dc650dSSadaf Ebrahimielephant ./testdata/grepinput & popd) >>testtrygrep
284*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
285*22dc650dSSadaf Ebrahimi
286*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 48 ------------------------------>>testtrygrep
287*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -F AB.VE^
288*22dc650dSSadaf Ebrahimi
289*22dc650dSSadaf Ebrahimielephant ./testdata/grepinput & popd) >>testtrygrep
290*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
291*22dc650dSSadaf Ebrahimi
292*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 49 ------------------------------>>testtrygrep
293*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -F -e DATA -e AB.VE^
294*22dc650dSSadaf Ebrahimi
295*22dc650dSSadaf Ebrahimielephant ./testdata/grepinput & popd) >>testtrygrep
296*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
297*22dc650dSSadaf Ebrahimi
298*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 50 ------------------------------>>testtrygrep
299*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "^(abc|def|ghi|jkl)" ./testdata/grepinputx & popd) >>testtrygrep
300*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
301*22dc650dSSadaf Ebrahimi
302*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 51 ------------------------------>>testtrygrep
303*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Mv "brown\sfox" ./testdata/grepinputv & popd) >>testtrygrep
304*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
305*22dc650dSSadaf Ebrahimi
306*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 52 ------------------------------>>testtrygrep
307*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --colour=always jumps ./testdata/grepinputv & popd) >>testtrygrep
308*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
309*22dc650dSSadaf Ebrahimi
310*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 53 ------------------------------>>testtrygrep
311*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --file-offsets "before|zero|after" ./testdata/grepinput & popd) >>testtrygrep
312*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
313*22dc650dSSadaf Ebrahimi
314*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 54 ------------------------------>>testtrygrep
315*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --line-offsets "before|zero|after" ./testdata/grepinput & popd) >>testtrygrep
316*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
317*22dc650dSSadaf Ebrahimi
318*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 55 ----------------------------->>testtrygrep
319*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -f./testdata/greplist --color=always ./testdata/grepinputx & popd) >>testtrygrep
320*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
321*22dc650dSSadaf Ebrahimi
322*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 56 ----------------------------->>testtrygrep
323*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -c lazy ./testdata/grepinput* & popd) >>testtrygrep
324*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
325*22dc650dSSadaf Ebrahimi
326*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 57 ----------------------------->>testtrygrep
327*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -c -l lazy ./testdata/grepinput* & popd) >>testtrygrep
328*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
329*22dc650dSSadaf Ebrahimi
330*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 58 ----------------------------->>testtrygrep
331*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --regex=PATTERN ./testdata/grepinput & popd) >>testtrygrep
332*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
333*22dc650dSSadaf Ebrahimi
334*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 59 ----------------------------->>testtrygrep
335*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --regexp=PATTERN ./testdata/grepinput & popd) >>testtrygrep
336*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
337*22dc650dSSadaf Ebrahimi
338*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 60 ----------------------------->>testtrygrep
339*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --regex PATTERN ./testdata/grepinput & popd) >>testtrygrep
340*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
341*22dc650dSSadaf Ebrahimi
342*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 61 ----------------------------->>testtrygrep
343*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --regexp PATTERN ./testdata/grepinput & popd) >>testtrygrep
344*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
345*22dc650dSSadaf Ebrahimi
346*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 62 ----------------------------->>testtrygrep
347*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --match-limit=1000 --no-jit -M "This is a file(.|\R)*file." ./testdata/grepinput & popd) >>testtrygrep 2>&1
348*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
349*22dc650dSSadaf Ebrahimi
350*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 63 ----------------------------->>testtrygrep
351*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --recursion-limit=1000 --no-jit -M "This is a file(.|\R)*file." ./testdata/grepinput & popd) >>testtrygrep 2>&1
352*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
353*22dc650dSSadaf Ebrahimi
354*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 64 ------------------------------>>testtrygrep
355*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o1 "(?<=PAT)TERN (ap(pear)s)" ./testdata/grepinput & popd) >>testtrygrep
356*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
357*22dc650dSSadaf Ebrahimi
358*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 65 ------------------------------>>testtrygrep
359*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o2 "(?<=PAT)TERN (ap(pear)s)" ./testdata/grepinput & popd) >>testtrygrep
360*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
361*22dc650dSSadaf Ebrahimi
362*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 66 ------------------------------>>testtrygrep
363*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o3 "(?<=PAT)TERN (ap(pear)s)" ./testdata/grepinput & popd) >>testtrygrep
364*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
365*22dc650dSSadaf Ebrahimi
366*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 67 ------------------------------>>testtrygrep
367*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o12 "(?<=PAT)TERN (ap(pear)s)" ./testdata/grepinput & popd) >>testtrygrep
368*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
369*22dc650dSSadaf Ebrahimi
370*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 68 ------------------------------>>testtrygrep
371*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --only-matching=2 "(?<=PAT)TERN (ap(pear)s)" ./testdata/grepinput & popd) >>testtrygrep
372*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
373*22dc650dSSadaf Ebrahimi
374*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 69 ----------------------------->>testtrygrep
375*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -vn --colour=always pattern ./testdata/grepinputx & popd) >>testtrygrep
376*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
377*22dc650dSSadaf Ebrahimi
378*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 70 ----------------------------->>testtrygrep
379*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --color=always -M "triple:\t.*\n\n" ./testdata/grepinput3 & popd) >>testtrygrep
380*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
381*22dc650dSSadaf Ebrahimi
382*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 71 ----------------------------->>testtrygrep
383*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o "^01|^02|^03" ./testdata/grepinput & popd) >>testtrygrep
384*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
385*22dc650dSSadaf Ebrahimi
386*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 72 ----------------------------->>testtrygrep
387*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --color=always "^01|^02|^03" ./testdata/grepinput & popd) >>testtrygrep
388*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
389*22dc650dSSadaf Ebrahimi
390*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 73 ----------------------------->>testtrygrep
391*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o --colour=always "^01|^02|^03" ./testdata/grepinput & popd) >>testtrygrep
392*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
393*22dc650dSSadaf Ebrahimi
394*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 74 ----------------------------->>testtrygrep
395*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o "^01|02|^03" ./testdata/grepinput & popd) >>testtrygrep
396*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
397*22dc650dSSadaf Ebrahimi
398*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 75 ----------------------------->>testtrygrep
399*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --color=always "^01|02|^03" ./testdata/grepinput & popd) >>testtrygrep
400*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
401*22dc650dSSadaf Ebrahimi
402*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 76 ----------------------------->>testtrygrep
403*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o --colour=always "^01|02|^03" ./testdata/grepinput & popd) >>testtrygrep
404*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
405*22dc650dSSadaf Ebrahimi
406*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 77 ----------------------------->>testtrygrep
407*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o "^01|^02|03" ./testdata/grepinput & popd) >>testtrygrep
408*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
409*22dc650dSSadaf Ebrahimi
410*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 78 ----------------------------->>testtrygrep
411*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --color=always "^01|^02|03" ./testdata/grepinput & popd) >>testtrygrep
412*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
413*22dc650dSSadaf Ebrahimi
414*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 79 ----------------------------->>testtrygrep
415*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o --colour=always "^01|^02|03" ./testdata/grepinput & popd) >>testtrygrep
416*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
417*22dc650dSSadaf Ebrahimi
418*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 80 ----------------------------->>testtrygrep
419*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o "\b01|\b02" ./testdata/grepinput & popd) >>testtrygrep
420*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
421*22dc650dSSadaf Ebrahimi
422*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 81 ----------------------------->>testtrygrep
423*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --color=always "\b01|\b02" ./testdata/grepinput & popd) >>testtrygrep
424*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
425*22dc650dSSadaf Ebrahimi
426*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 82 ----------------------------->>testtrygrep
427*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o --colour=always "\b01|\b02" ./testdata/grepinput & popd) >>testtrygrep
428*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
429*22dc650dSSadaf Ebrahimi
430*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 83 ----------------------------->>testtrygrep
431*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --buffer-size=10 --max-buffer-size=100 "^a" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
432*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
433*22dc650dSSadaf Ebrahimi
434*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 84 ----------------------------->>testtrygrep
435*22dc650dSSadaf Ebrahimiecho testdata/grepinput3 >testtemp1grep
436*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --file-list ./testdata/grepfilelist --file-list %builddir%\testtemp1grep "fox|complete|t7" & popd) >>testtrygrep 2>&1
437*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
438*22dc650dSSadaf Ebrahimi
439*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 85 ----------------------------->>testtrygrep
440*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --file-list=./testdata/grepfilelist "dolor" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
441*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
442*22dc650dSSadaf Ebrahimi
443*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 86 ----------------------------->>testtrygrep
444*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
445*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
446*22dc650dSSadaf Ebrahimi
447*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 87 ----------------------------->>testtrygrep
448*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% "cat" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
449*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
450*22dc650dSSadaf Ebrahimi
451*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 88 ----------------------------->>testtrygrep
452*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -v "cat" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
453*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
454*22dc650dSSadaf Ebrahimi
455*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 89 ----------------------------->>testtrygrep
456*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -I "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
457*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
458*22dc650dSSadaf Ebrahimi
459*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 90 ----------------------------->>testtrygrep
460*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --binary-files=without-match "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
461*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
462*22dc650dSSadaf Ebrahimi
463*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 91 ----------------------------->>testtrygrep
464*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -a "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
465*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
466*22dc650dSSadaf Ebrahimi
467*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 92 ----------------------------->>testtrygrep
468*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --binary-files=text "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
469*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
470*22dc650dSSadaf Ebrahimi
471*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 93 ----------------------------->>testtrygrep
472*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --text "dog" ./testdata/grepbinary & popd) >>testtrygrep 2>&1
473*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
474*22dc650dSSadaf Ebrahimi
475*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 94 ----------------------------->>testtrygrep
476*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include=grepinputx --include grepinput8 "fox" ./testdata/grepinput* | sort & popd) >>testtrygrep
477*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
478*22dc650dSSadaf Ebrahimi
479*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 95 ----------------------------->>testtrygrep
480*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --file-list ./testdata/grepfilelist --exclude grepinputv "fox|complete" & popd) >>testtrygrep 2>&1
481*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
482*22dc650dSSadaf Ebrahimi
483*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 96 ----------------------------->>testtrygrep
484*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include-dir=testdata --exclude "^^(?^!grepinput)" "fox" ./test* | sort & popd) >>testtrygrep
485*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
486*22dc650dSSadaf Ebrahimi
487*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 97 ----------------------------->>testtrygrep
488*22dc650dSSadaf Ebrahimiecho grepinput$>testtemp1grep
489*22dc650dSSadaf Ebrahimiecho grepinput8>>testtemp1grep
490*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include=grepinput --exclude-from %builddir%\testtemp1grep --exclude-dir="^\." "fox" ./testdata | sort & popd) >>testtrygrep
491*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
492*22dc650dSSadaf Ebrahimi
493*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 98 ----------------------------->>testtrygrep
494*22dc650dSSadaf Ebrahimiecho grepinput$>testtemp1grep
495*22dc650dSSadaf Ebrahimiecho grepinput8>>testtemp1grep
496*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --exclude=grepinput3 --include=grepinput --exclude-from %builddir%\testtemp1grep --exclude-dir="^\." "fox" ./testdata | sort & popd) >>testtrygrep
497*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
498*22dc650dSSadaf Ebrahimi
499*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 99 ----------------------------->>testtrygrep
500*22dc650dSSadaf Ebrahimiecho grepinput$>testtemp1grep
501*22dc650dSSadaf Ebrahimiecho grepinput8>testtemp2grep
502*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -L -r --include grepinput --exclude-from %builddir%\testtemp1grep --exclude-from=%builddir%\testtemp2grep --exclude-dir="^\." "fox" ./testdata | sort & popd) >>testtrygrep
503*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
504*22dc650dSSadaf Ebrahimi
505*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 100 ------------------------------>>testtrygrep
506*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -Ho2 --only-matching=1 -o3 "(\w+) binary (\w+)(\.)?" ./testdata/grepinput & popd) >>testtrygrep
507*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
508*22dc650dSSadaf Ebrahimi
509*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 101 ------------------------------>>testtrygrep
510*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -o3 -Ho2 -o12 --only-matching=1 -o3 --colour=always --om-separator="|" "(\w+) binary (\w+)(\.)?" ./testdata/grepinput & popd) >>testtrygrep
511*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
512*22dc650dSSadaf Ebrahimi
513*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 102 ----------------------------->>testtrygrep
514*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -n "^$" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
515*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
516*22dc650dSSadaf Ebrahimi
517*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 103 ----------------------------->>testtrygrep
518*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --only-matching "^$" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
519*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
520*22dc650dSSadaf Ebrahimi
521*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 104 ----------------------------->>testtrygrep
522*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -n --only-matching "^$" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
523*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
524*22dc650dSSadaf Ebrahimi
525*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 105 ----------------------------->>testtrygrep
526*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --colour=always "ipsum|" ./testdata/grepinput3 & popd) >>testtrygrep 2>&1
527*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
528*22dc650dSSadaf Ebrahimi
529*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 106 ----------------------------->>testtrygrep
530*22dc650dSSadaf Ebrahimi(pushd %srcdir% & echo a| %pcre2grep% -M "|a" & popd) >>testtrygrep 2>&1
531*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
532*22dc650dSSadaf Ebrahimi
533*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 107 ----------------------------->>testtrygrep
534*22dc650dSSadaf Ebrahimiecho a>testtemp1grep
535*22dc650dSSadaf Ebrahimiecho aaaaa>>testtemp1grep
536*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep%  --line-offsets "(?<=\Ka)" %builddir%\testtemp1grep & popd) >>testtrygrep 2>&1
537*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
538*22dc650dSSadaf Ebrahimi
539*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 108 ------------------------------>>testtrygrep
540*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -lq PATTERN ./testdata/grepinput ./testdata/grepinputx & popd) >>testtrygrep
541*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
542*22dc650dSSadaf Ebrahimi
543*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 109 ----------------------------->>testtrygrep
544*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -cq lazy ./testdata/grepinput* & popd) >>testtrygrep
545*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
546*22dc650dSSadaf Ebrahimi
547*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 110 ----------------------------->>testtrygrep
548*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --om-separator / -Mo0 -o1 -o2 "match (\d+):\n (.)\n" testdata/grepinput & popd) >>testtrygrep
549*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
550*22dc650dSSadaf Ebrahimi
551*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 111 ----------------------------->>testtrygrep
552*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --line-offsets -M "match (\d+):\n (.)\n" testdata/grepinput & popd) >>testtrygrep
553*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
554*22dc650dSSadaf Ebrahimi
555*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 112 ----------------------------->>testtrygrep
556*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --file-offsets -M "match (\d+):\n (.)\n" testdata/grepinput & popd) >>testtrygrep
557*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
558*22dc650dSSadaf Ebrahimi
559*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 113 ----------------------------->>testtrygrep
560*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% --total-count "the" testdata/grepinput* & popd) >>testtrygrep
561*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
562*22dc650dSSadaf Ebrahimi
563*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 114 ----------------------------->>testtrygrep
564*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -tc "the" testdata/grepinput* & popd) >>testtrygrep
565*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
566*22dc650dSSadaf Ebrahimi
567*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 115 ----------------------------->>testtrygrep
568*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -tlc "the" testdata/grepinput* & popd) >>testtrygrep
569*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
570*22dc650dSSadaf Ebrahimi
571*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 116 ----------------------------->>testtrygrep
572*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -th "the" testdata/grepinput* & popd) >>testtrygrep
573*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
574*22dc650dSSadaf Ebrahimi
575*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 117 ----------------------------->>testtrygrep
576*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -tch "the" testdata/grepinput* & popd) >>testtrygrep
577*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
578*22dc650dSSadaf Ebrahimi
579*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 118 ----------------------------->>testtrygrep
580*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -tL "the" testdata/grepinput* & popd) >>testtrygrep
581*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
582*22dc650dSSadaf Ebrahimi
583*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 119 ----------------------------->>testtrygrep
584*22dc650dSSadaf Ebrahimi%printf% "123\n456\n789\n---abc\ndef\nxyz\n---\n" >testNinputgrep
585*22dc650dSSadaf Ebrahimi%pcre2grep% -Mo "(\n|[^-])*---" testNinputgrep >>testtrygrep
586*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
587*22dc650dSSadaf Ebrahimi
588*22dc650dSSadaf Ebrahimiecho ---------------------------- Test 120 ------------------------------>>testtrygrep
589*22dc650dSSadaf Ebrahimi(pushd %srcdir% & %pcre2grep% -HO "$0:$2$1$3" "(\w+) binary (\w+)(\.)?" ./testdata/grepinput & popd) >>testtrygrep
590*22dc650dSSadaf Ebrahimiecho RC=^%ERRORLEVEL%>>testtrygrep
591*22dc650dSSadaf Ebrahimi
592*22dc650dSSadaf Ebrahimi:: Now compare the results.
593*22dc650dSSadaf Ebrahimi
594*22dc650dSSadaf Ebrahimi%cf% %srcdir%\testdata\grepoutput testtrygrep %cfout%
595*22dc650dSSadaf Ebrahimiif ERRORLEVEL 1 exit /b 1
596*22dc650dSSadaf Ebrahimi
597*22dc650dSSadaf Ebrahimi
598*22dc650dSSadaf Ebrahimi:: These tests require UTF-8 support
599*22dc650dSSadaf Ebrahimi
600*22dc650dSSadaf Ebrahimiif %utf8% neq 0 (
601*22dc650dSSadaf Ebrahimi  echo Testing pcre2grep UTF-8 features
602*22dc650dSSadaf Ebrahimi
603*22dc650dSSadaf Ebrahimi  echo ---------------------------- Test U1 ------------------------------>testtrygrep
604*22dc650dSSadaf Ebrahimi  (pushd %srcdir% & %pcre2grep% -n -u --newline=any "^X" ./testdata/grepinput8 & popd) >>testtrygrep
605*22dc650dSSadaf Ebrahimi  echo RC=^%ERRORLEVEL%>>testtrygrep
606*22dc650dSSadaf Ebrahimi
607*22dc650dSSadaf Ebrahimi  echo ---------------------------- Test U2 ------------------------------>>testtrygrep
608*22dc650dSSadaf Ebrahimi  (pushd %srcdir% & %pcre2grep% -n -u -C 3 --newline=any "Match" ./testdata/grepinput8 & popd) >>testtrygrep
609*22dc650dSSadaf Ebrahimi  echo RC=^%ERRORLEVEL%>>testtrygrep
610*22dc650dSSadaf Ebrahimi
611*22dc650dSSadaf Ebrahimi  echo ---------------------------- Test U3 ------------------------------>>testtrygrep
612*22dc650dSSadaf Ebrahimi  (pushd %srcdir% & %pcre2grep% --line-offsets -u --newline=any "(?<=\K\x{17f})" ./testdata/grepinput8 & popd) >>testtrygrep
613*22dc650dSSadaf Ebrahimi  echo RC=^%ERRORLEVEL%>>testtrygrep
614*22dc650dSSadaf Ebrahimi
615*22dc650dSSadaf Ebrahimi  %cf% %srcdir%\testdata\grepoutput8 testtrygrep %cfout%
616*22dc650dSSadaf Ebrahimi  if ERRORLEVEL 1 exit /b 1
617*22dc650dSSadaf Ebrahimi
618*22dc650dSSadaf Ebrahimi) else (
619*22dc650dSSadaf Ebrahimi  echo Skipping pcre2grep UTF-8 tests: no UTF-8 support in PCRE2 library
620*22dc650dSSadaf Ebrahimi)
621*22dc650dSSadaf Ebrahimi
622*22dc650dSSadaf Ebrahimi
623*22dc650dSSadaf Ebrahimi:: We go to some contortions to try to ensure that the tests for the various
624*22dc650dSSadaf Ebrahimi:: newline settings will work in environments where the normal newline sequence
625*22dc650dSSadaf Ebrahimi:: is not \n. Do not use exported files, whose line endings might be changed.
626*22dc650dSSadaf Ebrahimi:: Instead, create an input file so that its contents are exactly what we want.
627*22dc650dSSadaf Ebrahimi:: These tests are run in the build directory.
628*22dc650dSSadaf Ebrahimi
629*22dc650dSSadaf Ebrahimiecho Testing pcre2grep newline settings
630*22dc650dSSadaf Ebrahimi%printf% "abc\rdef\r\nghi\njkl" >testNinputgrep
631*22dc650dSSadaf Ebrahimi
632*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N1 ------------------------------>testtrygrep
633*22dc650dSSadaf Ebrahimi%pcre2grep% -n -N CR "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep
634*22dc650dSSadaf Ebrahimi
635*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N2 ------------------------------>>testtrygrep
636*22dc650dSSadaf Ebrahimi%pcre2grep% -n --newline=crlf "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep
637*22dc650dSSadaf Ebrahimi
638*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N3 ------------------------------>>testtrygrep
639*22dc650dSSadaf Ebrahimifor /f %%a in ('%printf% "def\rjkl"') do set pattern=%%a
640*22dc650dSSadaf Ebrahimi%pcre2grep% -n --newline=cr -F "!pattern!" testNinputgrep >>testtrygrep
641*22dc650dSSadaf Ebrahimi
642*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N4 ------------------------------>>testtrygrep
643*22dc650dSSadaf Ebrahimi%pcre2grep% -n --newline=crlf -F -f %srcdir%/testdata/greppatN4 testNinputgrep >>testtrygrep
644*22dc650dSSadaf Ebrahimi
645*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N5 ------------------------------>>testtrygrep
646*22dc650dSSadaf Ebrahimi%pcre2grep% -n --newline=any "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep
647*22dc650dSSadaf Ebrahimi
648*22dc650dSSadaf Ebrahimiecho ---------------------------- Test N6 ------------------------------>>testtrygrep
649*22dc650dSSadaf Ebrahimi%pcre2grep% -n --newline=anycrlf "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep
650*22dc650dSSadaf Ebrahimi
651*22dc650dSSadaf Ebrahimi%cf% %srcdir%\testdata\grepoutputN testtrygrep %cfout%
652*22dc650dSSadaf Ebrahimiif ERRORLEVEL 1 exit /b 1
653*22dc650dSSadaf Ebrahimi
654*22dc650dSSadaf Ebrahimi:: If pcre2grep supports script callouts, run some tests on them.
655*22dc650dSSadaf Ebrahimi
656*22dc650dSSadaf Ebrahimi%pcre2grep% --help | %pcre2grep% -q "callout scripts in patterns are supported"
657*22dc650dSSadaf Ebrahimiif %ERRORLEVEL% equ 0 (
658*22dc650dSSadaf Ebrahimi  echo Testing pcre2grep script callouts
659*22dc650dSSadaf Ebrahimi  %pcre2grep% "(T)(..(.))(?C'cmd|/c echo|Arg1: [$1] [$2] [$3]|Arg2: ^$|${1}^$| ($4) ($14) ($0)')()" %srcdir%/testdata/grepinputv >testtrygrep
660*22dc650dSSadaf Ebrahimi  %pcre2grep% "(T)(..(.))()()()()()()()(..)(?C'cmd|/c echo|Arg1: [$11] [${11}]')" %srcdir%/testdata/grepinputv >>testtrygrep
661*22dc650dSSadaf Ebrahimi  %pcre2grep% "(T)(?C'|$0:$1$n')" %srcdir%/testdata/grepinputv >>testtrygrep
662*22dc650dSSadaf Ebrahimi  %pcre2grep% "(T)(?C'|$1$n')(*F)" %srcdir%/testdata/grepinputv >>testtrygrep
663*22dc650dSSadaf Ebrahimi  %pcre2grep% --help | %pcre2grep% -q "Non-script callout scripts in patterns are supported"
664*22dc650dSSadaf Ebrahimi  if %ERRORLEVEL% equ 0 (
665*22dc650dSSadaf Ebrahimi    %cf% %srcdir%\testdata\grepoutputCN testtrygrep %cfout%
666*22dc650dSSadaf Ebrahimi  ) else (
667*22dc650dSSadaf Ebrahimi    %cf% %srcdir%\testdata\grepoutputC testtrygrep %cfout%
668*22dc650dSSadaf Ebrahimi  )
669*22dc650dSSadaf Ebrahimi  if ERRORLEVEL 1 exit /b 1
670*22dc650dSSadaf Ebrahimi) else (
671*22dc650dSSadaf Ebrahimi  echo Script callouts are not supported
672*22dc650dSSadaf Ebrahimi)
673*22dc650dSSadaf Ebrahimi
674*22dc650dSSadaf Ebrahimi:: Finally, some tests to exercise code that is not tested above, just to be
675*22dc650dSSadaf Ebrahimi:: sure that it runs OK. Doing this improves the coverage statistics. The output
676*22dc650dSSadaf Ebrahimi:: is not checked.
677*22dc650dSSadaf Ebrahimi
678*22dc650dSSadaf Ebrahimiecho Testing miscellaneous pcre2grep arguments (unchecked)
679*22dc650dSSadaf Ebrahimi%printf% "" >testtrygrep
680*22dc650dSSadaf Ebrahimicall :checkspecial "-xxxxx" 2 || exit /b 1
681*22dc650dSSadaf Ebrahimicall :checkspecial "--help" 0 || exit /b 1
682*22dc650dSSadaf Ebrahimicall :checkspecial "--line-buffered --colour=auto abc nul" 1 || exit /b 1
683*22dc650dSSadaf Ebrahimi
684*22dc650dSSadaf Ebrahimi:: Clean up local working files
685*22dc650dSSadaf Ebrahimidel testcf printf.js testNinputgrep teststderrgrep testtrygrep testtemp1grep testtemp2grep
686*22dc650dSSadaf Ebrahimi
687*22dc650dSSadaf Ebrahimiexit /b 0
688*22dc650dSSadaf Ebrahimi
689*22dc650dSSadaf Ebrahimi:: ------ Function to run and check a special pcre2grep arguments test -------
690*22dc650dSSadaf Ebrahimi
691*22dc650dSSadaf Ebrahimi:checkspecial
692*22dc650dSSadaf Ebrahimi  %pcre2grep% %~1 >>testtrygrep 2>&1
693*22dc650dSSadaf Ebrahimi  if %ERRORLEVEL% neq %2 (
694*22dc650dSSadaf Ebrahimi    echo ** pcre2grep %~1 failed - check testtrygrep
695*22dc650dSSadaf Ebrahimi    exit /b 1
696*22dc650dSSadaf Ebrahimi  )
697*22dc650dSSadaf Ebrahimi  exit /b 0
698*22dc650dSSadaf Ebrahimi
699*22dc650dSSadaf Ebrahimi:: End
700