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