1*22dc650dSSadaf Ebrahimi#! /bin/sh 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 7*22dc650dSSadaf Ebrahimi# CODING CONVENTIONS: 8*22dc650dSSadaf Ebrahimi# * Put printf arguments in single, not double quotes to avoid unwanted 9*22dc650dSSadaf Ebrahimi# escaping. 10*22dc650dSSadaf Ebrahimi# * Use \0 for binary zero in printf, not \x0, for the benefit of older 11*22dc650dSSadaf Ebrahimi# versions (and use octal for other special values). 12*22dc650dSSadaf Ebrahimi 13*22dc650dSSadaf Ebrahimi# Set the C locale, so that sort(1) behaves predictably. 14*22dc650dSSadaf Ebrahimi 15*22dc650dSSadaf EbrahimiLC_ALL=C 16*22dc650dSSadaf Ebrahimiexport LC_ALL 17*22dc650dSSadaf Ebrahimi 18*22dc650dSSadaf Ebrahimi# Remove any non-default colouring and aliases that the caller may have set. 19*22dc650dSSadaf Ebrahimi 20*22dc650dSSadaf Ebrahimiunset PCRE2GREP_COLOUR PCRE2GREP_COLOR PCREGREP_COLOUR PCREGREP_COLOR 21*22dc650dSSadaf Ebrahimiunset GREP_COLOR GREP_COLORS 22*22dc650dSSadaf Ebrahimiunset cp ls mv rm 23*22dc650dSSadaf Ebrahimi 24*22dc650dSSadaf Ebrahimi# Remember the current (build) directory, set the program to be tested, and 25*22dc650dSSadaf Ebrahimi# valgrind settings when requested. 26*22dc650dSSadaf Ebrahimi 27*22dc650dSSadaf Ebrahimibuilddir=`pwd` 28*22dc650dSSadaf Ebrahimipcre2grep=$builddir/pcre2grep 29*22dc650dSSadaf Ebrahimipcre2test=$builddir/pcre2test 30*22dc650dSSadaf Ebrahimi 31*22dc650dSSadaf Ebrahimiif [ ! -x $pcre2grep ] ; then 32*22dc650dSSadaf Ebrahimi echo "** $pcre2grep does not exist or is not executable." 33*22dc650dSSadaf Ebrahimi exit 1 34*22dc650dSSadaf Ebrahimifi 35*22dc650dSSadaf Ebrahimi 36*22dc650dSSadaf Ebrahimiif [ ! -x $pcre2test ] ; then 37*22dc650dSSadaf Ebrahimi echo "** $pcre2test does not exist or is not executable." 38*22dc650dSSadaf Ebrahimi exit 1 39*22dc650dSSadaf Ebrahimifi 40*22dc650dSSadaf Ebrahimi 41*22dc650dSSadaf Ebrahimivalgrind= 42*22dc650dSSadaf Ebrahimiwhile [ $# -gt 0 ] ; do 43*22dc650dSSadaf Ebrahimi case $1 in 44*22dc650dSSadaf Ebrahimi valgrind) valgrind="valgrind -q --leak-check=no --smc-check=all-non-file";; 45*22dc650dSSadaf Ebrahimi *) echo "RunGrepTest: Unknown argument $1"; exit 1;; 46*22dc650dSSadaf Ebrahimi esac 47*22dc650dSSadaf Ebrahimi shift 48*22dc650dSSadaf Ebrahimidone 49*22dc650dSSadaf Ebrahimi 50*22dc650dSSadaf Ebrahimivjs= 51*22dc650dSSadaf Ebrahimipcre2grep_version=`$pcre2grep -V` 52*22dc650dSSadaf Ebrahimiif [ "$valgrind" = "" ] ; then 53*22dc650dSSadaf Ebrahimi echo "Testing $pcre2grep_version" 54*22dc650dSSadaf Ebrahimielse 55*22dc650dSSadaf Ebrahimi echo "Testing $pcre2grep_version using valgrind" 56*22dc650dSSadaf Ebrahimi $pcre2test -C jit >/dev/null 57*22dc650dSSadaf Ebrahimi if [ $? -ne 0 ]; then 58*22dc650dSSadaf Ebrahimi vjs="--suppressions=./testdata/valgrind-jit.supp" 59*22dc650dSSadaf Ebrahimi fi 60*22dc650dSSadaf Ebrahimifi 61*22dc650dSSadaf Ebrahimi 62*22dc650dSSadaf Ebrahimi# Set up a suitable "diff" command for comparison. Some systems have a diff 63*22dc650dSSadaf Ebrahimi# that lacks a -u option. Try to deal with this; better do the test for the -b 64*22dc650dSSadaf Ebrahimi# option as well. 65*22dc650dSSadaf Ebrahimi 66*22dc650dSSadaf Ebrahimicf="diff" 67*22dc650dSSadaf Ebrahimidiff -b /dev/null /dev/null 2>/dev/null && cf="diff -b" 68*22dc650dSSadaf Ebrahimidiff -u /dev/null /dev/null 2>/dev/null && cf="diff -u" 69*22dc650dSSadaf Ebrahimidiff -ub /dev/null /dev/null 2>/dev/null && cf="diff -ub" 70*22dc650dSSadaf Ebrahimi 71*22dc650dSSadaf Ebrahimi# Add a -a (always treat as text) if available. This was added in an attempt 72*22dc650dSSadaf Ebrahimi# to get more detail from an Alpine Linux test failure on GitHub. 73*22dc650dSSadaf Ebrahimi 74*22dc650dSSadaf Ebrahimi$cf -a /dev/null /dev/null 2>/dev/null && cf="$cf -a" 75*22dc650dSSadaf Ebrahimi 76*22dc650dSSadaf Ebrahimi# Some tests involve NUL characters. It seems impossible to handle them easily 77*22dc650dSSadaf Ebrahimi# in many operating systems. An earlier version of this script used sed to 78*22dc650dSSadaf Ebrahimi# translate NUL into the string ZERO, but this didn't work on Solaris (aka 79*22dc650dSSadaf Ebrahimi# SunOS), where the version of sed explicitly doesn't like them, and also MacOS 80*22dc650dSSadaf Ebrahimi# (Darwin), OpenBSD, FreeBSD, NetBSD, and some Linux distributions like Alpine, 81*22dc650dSSadaf Ebrahimi# even when using GNU sed. A user suggested using tr instead, which 82*22dc650dSSadaf Ebrahimi# necessitates translating to a single character. However, on (some versions 83*22dc650dSSadaf Ebrahimi# of?) Solaris, the normal "tr" cannot handle binary zeros, but if 84*22dc650dSSadaf Ebrahimi# /usr/xpg4/bin/tr is available, it can do so, so test for that. 85*22dc650dSSadaf Ebrahimi 86*22dc650dSSadaf Ebrahimiif [ -x /usr/xpg4/bin/tr ] ; then 87*22dc650dSSadaf Ebrahimi tr=/usr/xpg4/bin/tr 88*22dc650dSSadaf Ebrahimielse 89*22dc650dSSadaf Ebrahimi tr=tr 90*22dc650dSSadaf Ebrahimifi 91*22dc650dSSadaf Ebrahimi 92*22dc650dSSadaf Ebrahimi# If this test is being run from "make check", $srcdir will be set. If not, set 93*22dc650dSSadaf Ebrahimi# it to the current or parent directory, whichever one contains the test data. 94*22dc650dSSadaf Ebrahimi# Subsequently, we run most of the pcre2grep tests in the source directory so 95*22dc650dSSadaf Ebrahimi# that the file names in the output are always the same. 96*22dc650dSSadaf Ebrahimi 97*22dc650dSSadaf Ebrahimiif [ -z "$srcdir" -o ! -d "$srcdir/testdata" ] ; then 98*22dc650dSSadaf Ebrahimi if [ -d "./testdata" ] ; then 99*22dc650dSSadaf Ebrahimi srcdir=. 100*22dc650dSSadaf Ebrahimi elif [ -d "../testdata" ] ; then 101*22dc650dSSadaf Ebrahimi srcdir=.. 102*22dc650dSSadaf Ebrahimi else 103*22dc650dSSadaf Ebrahimi echo "Cannot find the testdata directory" 104*22dc650dSSadaf Ebrahimi exit 1 105*22dc650dSSadaf Ebrahimi fi 106*22dc650dSSadaf Ebrahimifi 107*22dc650dSSadaf Ebrahimi 108*22dc650dSSadaf Ebrahimi# Check for the availability of UTF-8 support 109*22dc650dSSadaf Ebrahimi 110*22dc650dSSadaf Ebrahimi$pcre2test -C unicode >/dev/null 111*22dc650dSSadaf Ebrahimiutf8=$? 112*22dc650dSSadaf Ebrahimi 113*22dc650dSSadaf Ebrahimi# Check default newline convention. If it does not include LF, force LF. 114*22dc650dSSadaf Ebrahimi 115*22dc650dSSadaf Ebrahiminl=`$pcre2test -C newline` 116*22dc650dSSadaf Ebrahimiif [ "$nl" != "LF" -a "$nl" != "ANY" -a "$nl" != "ANYCRLF" ]; then 117*22dc650dSSadaf Ebrahimi pcre2grep="$pcre2grep -N LF" 118*22dc650dSSadaf Ebrahimi echo "Default newline setting forced to LF" 119*22dc650dSSadaf Ebrahimifi 120*22dc650dSSadaf Ebrahimi 121*22dc650dSSadaf Ebrahimi# ------ Function to run and check a special pcre2grep arguments test ------- 122*22dc650dSSadaf Ebrahimi 123*22dc650dSSadaf Ebrahimicheckspecial() 124*22dc650dSSadaf Ebrahimi { 125*22dc650dSSadaf Ebrahimi $valgrind $pcre2grep $1 >>testtrygrep 2>&1 126*22dc650dSSadaf Ebrahimi if [ $? -ne $2 ] ; then 127*22dc650dSSadaf Ebrahimi echo "** pcre2grep $1 failed - check testtrygrep" 128*22dc650dSSadaf Ebrahimi exit 1 129*22dc650dSSadaf Ebrahimi fi 130*22dc650dSSadaf Ebrahimi } 131*22dc650dSSadaf Ebrahimi 132*22dc650dSSadaf Ebrahimi# ------ Normal tests ------ 133*22dc650dSSadaf Ebrahimi 134*22dc650dSSadaf Ebrahimiecho "Testing pcre2grep main features" 135*22dc650dSSadaf Ebrahimi 136*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 1 ------------------------------" >testtrygrep 137*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep PATTERN ./testdata/grepinput) >>testtrygrep 138*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 139*22dc650dSSadaf Ebrahimi 140*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 2 ------------------------------" >>testtrygrep 141*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep '^PATTERN' ./testdata/grepinput) >>testtrygrep 142*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 143*22dc650dSSadaf Ebrahimi 144*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 3 ------------------------------" >>testtrygrep 145*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -in PATTERN ./testdata/grepinput) >>testtrygrep 146*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 147*22dc650dSSadaf Ebrahimi 148*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 4 ------------------------------" >>testtrygrep 149*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -ic PATTERN ./testdata/grepinput) >>testtrygrep 150*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 151*22dc650dSSadaf Ebrahimi 152*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 5 ------------------------------" >>testtrygrep 153*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -in PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 154*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 155*22dc650dSSadaf Ebrahimi 156*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 6 ------------------------------" >>testtrygrep 157*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -inh PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 158*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 159*22dc650dSSadaf Ebrahimi 160*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 7 ------------------------------" >>testtrygrep 161*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -il PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 162*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 163*22dc650dSSadaf Ebrahimi 164*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 8 ------------------------------" >>testtrygrep 165*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -l PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 166*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 167*22dc650dSSadaf Ebrahimi 168*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 9 ------------------------------" >>testtrygrep 169*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -q PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 170*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 171*22dc650dSSadaf Ebrahimi 172*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 10 -----------------------------" >>testtrygrep 173*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -q NEVER-PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 174*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 175*22dc650dSSadaf Ebrahimi 176*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 11 -----------------------------" >>testtrygrep 177*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -vn pattern ./testdata/grepinputx) >>testtrygrep 178*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 179*22dc650dSSadaf Ebrahimi 180*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 12 -----------------------------" >>testtrygrep 181*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -ix pattern ./testdata/grepinputx) >>testtrygrep 182*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 183*22dc650dSSadaf Ebrahimi 184*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 13 -----------------------------" >>testtrygrep 185*22dc650dSSadaf Ebrahimiecho seventeen >testtemp1grep 186*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -f./testdata/greplist -f $builddir/testtemp1grep ./testdata/grepinputx) >>testtrygrep 187*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 188*22dc650dSSadaf Ebrahimi 189*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 14 -----------------------------" >>testtrygrep 190*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -w pat ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 191*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 192*22dc650dSSadaf Ebrahimi 193*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 15 -----------------------------" >>testtrygrep 194*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep 'abc^*' ./testdata/grepinput) >>testtrygrep 2>&1 195*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 196*22dc650dSSadaf Ebrahimi 197*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 16 -----------------------------" >>testtrygrep 198*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep abc ./testdata/grepinput ./testdata/nonexistfile) >>testtrygrep 2>&1 199*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 200*22dc650dSSadaf Ebrahimi 201*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 17 -----------------------------" >>testtrygrep 202*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -M 'the\noutput' ./testdata/grepinput) >>testtrygrep 203*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 204*22dc650dSSadaf Ebrahimi 205*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 18 -----------------------------" >>testtrygrep 206*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mn '(the\noutput|dog\.\n--)' ./testdata/grepinput) >>testtrygrep 207*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 208*22dc650dSSadaf Ebrahimi 209*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 19 -----------------------------" >>testtrygrep 210*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mix 'Pattern' ./testdata/grepinputx) >>testtrygrep 211*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 212*22dc650dSSadaf Ebrahimi 213*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 20 -----------------------------" >>testtrygrep 214*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mixn 'complete pair\nof lines' ./testdata/grepinputx) >>testtrygrep 215*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 216*22dc650dSSadaf Ebrahimi 217*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 21 -----------------------------" >>testtrygrep 218*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nA3 'four' ./testdata/grepinputx) >>testtrygrep 219*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 220*22dc650dSSadaf Ebrahimi 221*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 22 -----------------------------" >>testtrygrep 222*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nB3 'four' ./testdata/grepinputx) >>testtrygrep 223*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 224*22dc650dSSadaf Ebrahimi 225*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 23 -----------------------------" >>testtrygrep 226*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -C3 'four' ./testdata/grepinputx) >>testtrygrep 227*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 228*22dc650dSSadaf Ebrahimi 229*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 24 -----------------------------" >>testtrygrep 230*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -A9 'four' ./testdata/grepinputx) >>testtrygrep 231*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 232*22dc650dSSadaf Ebrahimi 233*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 25 -----------------------------" >>testtrygrep 234*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nB9 'four' ./testdata/grepinputx) >>testtrygrep 235*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 236*22dc650dSSadaf Ebrahimi 237*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 26 -----------------------------" >>testtrygrep 238*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -A9 -B9 'four' ./testdata/grepinputx) >>testtrygrep 239*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 240*22dc650dSSadaf Ebrahimi 241*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 27 -----------------------------" >>testtrygrep 242*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -A10 'four' ./testdata/grepinputx) >>testtrygrep 243*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 244*22dc650dSSadaf Ebrahimi 245*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 28 -----------------------------" >>testtrygrep 246*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nB10 'four' ./testdata/grepinputx) >>testtrygrep 247*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 248*22dc650dSSadaf Ebrahimi 249*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 29 -----------------------------" >>testtrygrep 250*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -C12 -B10 'four' ./testdata/grepinputx) >>testtrygrep 251*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 252*22dc650dSSadaf Ebrahimi 253*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 30 -----------------------------" >>testtrygrep 254*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -inB3 'pattern' ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 255*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 256*22dc650dSSadaf Ebrahimi 257*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 31 -----------------------------" >>testtrygrep 258*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -inA3 'pattern' ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 259*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 260*22dc650dSSadaf Ebrahimi 261*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 32 -----------------------------" >>testtrygrep 262*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L 'fox' ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 263*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 264*22dc650dSSadaf Ebrahimi 265*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 33 -----------------------------" >>testtrygrep 266*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep 'fox' ./testdata/grepnonexist) >>testtrygrep 2>&1 267*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 268*22dc650dSSadaf Ebrahimi 269*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 34 -----------------------------" >>testtrygrep 270*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -s 'fox' ./testdata/grepnonexist) >>testtrygrep 2>&1 271*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 272*22dc650dSSadaf Ebrahimi 273*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 35 -----------------------------" >>testtrygrep 274*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include=grepinputx --include grepinput8 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtrygrep 275*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 276*22dc650dSSadaf Ebrahimi 277*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 36 -----------------------------" >>testtrygrep 278*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include='grepinput[^C]' --exclude 'grepinput$' --exclude=grepinput8 --exclude=grepinputM --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtrygrep 279*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 280*22dc650dSSadaf Ebrahimi 281*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 37 -----------------------------" >>testtrygrep 282*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep '^(a+)*\d' ./testdata/grepinput) >>testtrygrep 2>teststderrgrep 283*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 284*22dc650dSSadaf Ebrahimiecho "======== STDERR ========" >>testtrygrep 285*22dc650dSSadaf Ebrahimicat teststderrgrep >>testtrygrep 286*22dc650dSSadaf Ebrahimi 287*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 38 ------------------------------" >>testtrygrep 288*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep '>\x00<' ./testdata/grepinput) >>testtrygrep 289*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 290*22dc650dSSadaf Ebrahimi 291*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 39 ------------------------------" >>testtrygrep 292*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -A1 'before the binary zero' ./testdata/grepinput) >>testtrygrep 293*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 294*22dc650dSSadaf Ebrahimi 295*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 40 ------------------------------" >>testtrygrep 296*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -B1 'after the binary zero' ./testdata/grepinput) >>testtrygrep 297*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 298*22dc650dSSadaf Ebrahimi 299*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 41 ------------------------------" >>testtrygrep 300*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -B1 -o '\w+ the binary zero' ./testdata/grepinput) >>testtrygrep 301*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 302*22dc650dSSadaf Ebrahimi 303*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 42 ------------------------------" >>testtrygrep 304*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -B1 -onH '\w+ the binary zero' ./testdata/grepinput) >>testtrygrep 305*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 306*22dc650dSSadaf Ebrahimi 307*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 43 ------------------------------" >>testtrygrep 308*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -on 'before|zero|after' ./testdata/grepinput) >>testtrygrep 309*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 310*22dc650dSSadaf Ebrahimi 311*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 44 ------------------------------" >>testtrygrep 312*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -on -e before -ezero -e after ./testdata/grepinput) >>testtrygrep 313*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 314*22dc650dSSadaf Ebrahimi 315*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 45 ------------------------------" >>testtrygrep 316*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -on -f ./testdata/greplist -e binary ./testdata/grepinput) >>testtrygrep 317*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 318*22dc650dSSadaf Ebrahimi 319*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 46 ------------------------------" >>testtrygrep 320*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -e 'unopened)' -e abc ./testdata/grepinput) >>testtrygrep 2>&1 321*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -eabc -e '(unclosed' ./testdata/grepinput) >>testtrygrep 2>&1 322*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -eabc -e xyz -e '[unclosed' ./testdata/grepinput) >>testtrygrep 2>&1 323*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --regex=123 -eabc -e xyz -e '[unclosed' ./testdata/grepinput) >>testtrygrep 2>&1 324*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 325*22dc650dSSadaf Ebrahimi 326*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 47 ------------------------------" >>testtrygrep 327*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Fx "AB.VE 328*22dc650dSSadaf Ebrahimielephant" ./testdata/grepinput) >>testtrygrep 329*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 330*22dc650dSSadaf Ebrahimi 331*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 48 ------------------------------" >>testtrygrep 332*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -F "AB.VE 333*22dc650dSSadaf Ebrahimielephant" ./testdata/grepinput) >>testtrygrep 334*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 335*22dc650dSSadaf Ebrahimi 336*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 49 ------------------------------" >>testtrygrep 337*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -F -e DATA -e "AB.VE 338*22dc650dSSadaf Ebrahimielephant" ./testdata/grepinput) >>testtrygrep 339*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 340*22dc650dSSadaf Ebrahimi 341*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 50 ------------------------------" >>testtrygrep 342*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep "^(abc|def|ghi|jkl)" ./testdata/grepinputx) >>testtrygrep 343*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 344*22dc650dSSadaf Ebrahimi 345*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 51 ------------------------------" >>testtrygrep 346*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mv "brown\sfox" ./testdata/grepinputv) >>testtrygrep 347*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 348*22dc650dSSadaf Ebrahimi 349*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 52 ------------------------------" >>testtrygrep 350*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --colour=always jumps ./testdata/grepinputv) >>testtrygrep 351*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 352*22dc650dSSadaf Ebrahimi 353*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 53 ------------------------------" >>testtrygrep 354*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --file-offsets 'before|zero|after' ./testdata/grepinput) >>testtrygrep 355*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 356*22dc650dSSadaf Ebrahimi 357*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 54 ------------------------------" >>testtrygrep 358*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --line-offsets 'before|zero|after' ./testdata/grepinput) >>testtrygrep 359*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 360*22dc650dSSadaf Ebrahimi 361*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 55 -----------------------------" >>testtrygrep 362*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -f./testdata/greplist --color=always ./testdata/grepinputx) >>testtrygrep 363*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 364*22dc650dSSadaf Ebrahimi 365*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 56 -----------------------------" >>testtrygrep 366*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -c --exclude=grepinputC lazy ./testdata/grepinput*) >>testtrygrep 367*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 368*22dc650dSSadaf Ebrahimi 369*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 57 -----------------------------" >>testtrygrep 370*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -c -l --exclude=grepinputC lazy ./testdata/grepinput*) >>testtrygrep 371*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 372*22dc650dSSadaf Ebrahimi 373*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 58 -----------------------------" >>testtrygrep 374*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --regex=PATTERN ./testdata/grepinput) >>testtrygrep 375*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 376*22dc650dSSadaf Ebrahimi 377*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 59 -----------------------------" >>testtrygrep 378*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --regexp=PATTERN ./testdata/grepinput) >>testtrygrep 379*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 380*22dc650dSSadaf Ebrahimi 381*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 60 -----------------------------" >>testtrygrep 382*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --regex PATTERN ./testdata/grepinput) >>testtrygrep 383*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 384*22dc650dSSadaf Ebrahimi 385*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 61 -----------------------------" >>testtrygrep 386*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --regexp PATTERN ./testdata/grepinput) >>testtrygrep 387*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 388*22dc650dSSadaf Ebrahimi 389*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 62 -----------------------------" >>testtrygrep 390*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $pcre2grep --match-limit=1000 --no-jit -M 'This is a file(.|\R)*file.' ./testdata/grepinput) >>testtrygrep 2>&1 391*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 392*22dc650dSSadaf Ebrahimi 393*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 63 -----------------------------" >>testtrygrep 394*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $pcre2grep --recursion-limit=1K --no-jit -M 'This is a file(.|\R)*file.' ./testdata/grepinput) >>testtrygrep 2>&1 395*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 396*22dc650dSSadaf Ebrahimi 397*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 64 ------------------------------" >>testtrygrep 398*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o1 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtrygrep 399*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 400*22dc650dSSadaf Ebrahimi 401*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 65 ------------------------------" >>testtrygrep 402*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o2 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtrygrep 403*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 404*22dc650dSSadaf Ebrahimi 405*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 66 ------------------------------" >>testtrygrep 406*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o3 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtrygrep 407*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 408*22dc650dSSadaf Ebrahimi 409*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 67 ------------------------------" >>testtrygrep 410*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o12 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtrygrep 411*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 412*22dc650dSSadaf Ebrahimi 413*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 68 ------------------------------" >>testtrygrep 414*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --only-matching=2 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtrygrep 415*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 416*22dc650dSSadaf Ebrahimi 417*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 69 -----------------------------" >>testtrygrep 418*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -vn --colour=always pattern ./testdata/grepinputx) >>testtrygrep 419*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 420*22dc650dSSadaf Ebrahimi 421*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 70 -----------------------------" >>testtrygrep 422*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always -M "triple:\t.*\n\n" ./testdata/grepinput3) >>testtrygrep 423*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 424*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always -M -n "triple:\t.*\n\n" ./testdata/grepinput3) >>testtrygrep 425*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 426*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -M "triple:\t.*\n\n" ./testdata/grepinput3) >>testtrygrep 427*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 428*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -M -n "triple:\t.*\n\n" ./testdata/grepinput3) >>testtrygrep 429*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 430*22dc650dSSadaf Ebrahimi 431*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 71 -----------------------------" >>testtrygrep 432*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o "^01|^02|^03" ./testdata/grepinput) >>testtrygrep 433*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 434*22dc650dSSadaf Ebrahimi 435*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 72 -----------------------------" >>testtrygrep 436*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always "^01|^02|^03" ./testdata/grepinput) >>testtrygrep 437*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 438*22dc650dSSadaf Ebrahimi 439*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 73 -----------------------------" >>testtrygrep 440*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o --colour=always "^01|^02|^03" ./testdata/grepinput) >>testtrygrep 441*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 442*22dc650dSSadaf Ebrahimi 443*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 74 -----------------------------" >>testtrygrep 444*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o "^01|02|^03" ./testdata/grepinput) >>testtrygrep 445*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 446*22dc650dSSadaf Ebrahimi 447*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 75 -----------------------------" >>testtrygrep 448*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always "^01|02|^03" ./testdata/grepinput) >>testtrygrep 449*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 450*22dc650dSSadaf Ebrahimi 451*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 76 -----------------------------" >>testtrygrep 452*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o --colour=always "^01|02|^03" ./testdata/grepinput) >>testtrygrep 453*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 454*22dc650dSSadaf Ebrahimi 455*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 77 -----------------------------" >>testtrygrep 456*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o "^01|^02|03" ./testdata/grepinput) >>testtrygrep 457*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 458*22dc650dSSadaf Ebrahimi 459*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 78 -----------------------------" >>testtrygrep 460*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always "^01|^02|03" ./testdata/grepinput) >>testtrygrep 461*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 462*22dc650dSSadaf Ebrahimi 463*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 79 -----------------------------" >>testtrygrep 464*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o --colour=always "^01|^02|03" ./testdata/grepinput) >>testtrygrep 465*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 466*22dc650dSSadaf Ebrahimi 467*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 80 -----------------------------" >>testtrygrep 468*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o "\b01|\b02" ./testdata/grepinput) >>testtrygrep 469*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 470*22dc650dSSadaf Ebrahimi 471*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 81 -----------------------------" >>testtrygrep 472*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --color=always "\\b01|\\b02" ./testdata/grepinput) >>testtrygrep 473*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 474*22dc650dSSadaf Ebrahimi 475*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 82 -----------------------------" >>testtrygrep 476*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o --colour=always "\\b01|\\b02" ./testdata/grepinput) >>testtrygrep 477*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 478*22dc650dSSadaf Ebrahimi 479*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 83 -----------------------------" >>testtrygrep 480*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --buffer-size=10 --max-buffer-size=100 "^a" ./testdata/grepinput3) >>testtrygrep 2>&1 481*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 482*22dc650dSSadaf Ebrahimi 483*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 84 -----------------------------" >>testtrygrep 484*22dc650dSSadaf Ebrahimiecho testdata/grepinput3 >testtemp1grep 485*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --file-list ./testdata/grepfilelist --file-list $builddir/testtemp1grep "fox|complete|t7") >>testtrygrep 2>&1 486*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 487*22dc650dSSadaf Ebrahimi 488*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 85 -----------------------------" >>testtrygrep 489*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --file-list=./testdata/grepfilelist "dolor" ./testdata/grepinput3) >>testtrygrep 2>&1 490*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 491*22dc650dSSadaf Ebrahimi 492*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 86 -----------------------------" >>testtrygrep 493*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 494*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 495*22dc650dSSadaf Ebrahimi 496*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 87 -----------------------------" >>testtrygrep 497*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep "cat" ./testdata/grepbinary) >>testtrygrep 2>&1 498*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 499*22dc650dSSadaf Ebrahimi 500*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 88 -----------------------------" >>testtrygrep 501*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -v "cat" ./testdata/grepbinary) >>testtrygrep 2>&1 502*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 503*22dc650dSSadaf Ebrahimi 504*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 89 -----------------------------" >>testtrygrep 505*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -I "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 506*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 507*22dc650dSSadaf Ebrahimi 508*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 90 -----------------------------" >>testtrygrep 509*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --binary-files=without-match "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 510*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 511*22dc650dSSadaf Ebrahimi 512*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 91 -----------------------------" >>testtrygrep 513*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -a "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 514*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 515*22dc650dSSadaf Ebrahimi 516*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 92 -----------------------------" >>testtrygrep 517*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --binary-files=text "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 518*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 519*22dc650dSSadaf Ebrahimi 520*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 93 -----------------------------" >>testtrygrep 521*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --text "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 522*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 523*22dc650dSSadaf Ebrahimi 524*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 94 -----------------------------" >>testtrygrep 525*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include=grepinputx --include grepinput8 'fox' ./testdata/grepinput* | sort) >>testtrygrep 526*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 527*22dc650dSSadaf Ebrahimi 528*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 95 -----------------------------" >>testtrygrep 529*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --file-list ./testdata/grepfilelist --exclude grepinputv "fox|complete") >>testtrygrep 2>&1 530*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 531*22dc650dSSadaf Ebrahimi 532*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 96 -----------------------------" >>testtrygrep 533*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include-dir=testdata --exclude '^(?!grepinput)' --exclude=grepinput[MC] 'fox' ./test* | sort) >>testtrygrep 534*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 535*22dc650dSSadaf Ebrahimi 536*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 97 -----------------------------" >>testtrygrep 537*22dc650dSSadaf Ebrahimiecho "grepinput$" >testtemp1grep 538*22dc650dSSadaf Ebrahimiecho "grepinput8" >>testtemp1grep 539*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include=grepinput --exclude=grepinput[MC] --exclude-from $builddir/testtemp1grep --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtrygrep 540*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 541*22dc650dSSadaf Ebrahimi 542*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 98 -----------------------------" >>testtrygrep 543*22dc650dSSadaf Ebrahimiecho "grepinput$" >testtemp1grep 544*22dc650dSSadaf Ebrahimiecho "grepinput8" >>testtemp1grep 545*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --exclude=grepinput3 --exclude=grepinput[MC] --include=grepinput --exclude-from $builddir/testtemp1grep --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtrygrep 546*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 547*22dc650dSSadaf Ebrahimi 548*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 99 -----------------------------" >>testtrygrep 549*22dc650dSSadaf Ebrahimiecho "grepinput$" >testtemp1grep 550*22dc650dSSadaf Ebrahimiecho "grepinput8" >testtemp2grep 551*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -L -r --include grepinput --exclude=grepinput[MC] --exclude-from $builddir/testtemp1grep --exclude-from=$builddir/testtemp2grep --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtrygrep 552*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 553*22dc650dSSadaf Ebrahimi 554*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 100 ------------------------------" >>testtrygrep 555*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Ho2 --only-matching=1 -o3 '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 556*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 557*22dc650dSSadaf Ebrahimi 558*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 101 ------------------------------" >>testtrygrep 559*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o3 -Ho2 -o12 --only-matching=1 -o3 --colour=always --om-separator='|' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 560*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 561*22dc650dSSadaf Ebrahimi 562*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 102 -----------------------------" >>testtrygrep 563*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -n "^$" ./testdata/grepinput3) >>testtrygrep 2>&1 564*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 565*22dc650dSSadaf Ebrahimi 566*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 103 -----------------------------" >>testtrygrep 567*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --only-matching "^$" ./testdata/grepinput3) >>testtrygrep 2>&1 568*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 569*22dc650dSSadaf Ebrahimi 570*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 104 -----------------------------" >>testtrygrep 571*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -n --only-matching "^$" ./testdata/grepinput3) >>testtrygrep 2>&1 572*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 573*22dc650dSSadaf Ebrahimi 574*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 105 -----------------------------" >>testtrygrep 575*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --colour=always "ipsum|" ./testdata/grepinput3) >>testtrygrep 2>&1 576*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 577*22dc650dSSadaf Ebrahimi 578*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 106 -----------------------------" >>testtrygrep 579*22dc650dSSadaf Ebrahimi(cd $srcdir; echo "a" | $valgrind $vjs $pcre2grep -M "|a" ) >>testtrygrep 2>&1 580*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 581*22dc650dSSadaf Ebrahimi 582*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 107 -----------------------------" >>testtrygrep 583*22dc650dSSadaf Ebrahimiecho "a" >testtemp1grep 584*22dc650dSSadaf Ebrahimiecho "aaaaa" >>testtemp1grep 585*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --line-offsets --allow-lookaround-bsk '(?<=\Ka)' $builddir/testtemp1grep) >>testtrygrep 2>&1 586*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 587*22dc650dSSadaf Ebrahimi 588*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 108 ------------------------------" >>testtrygrep 589*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -lq PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtrygrep 590*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 591*22dc650dSSadaf Ebrahimi 592*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 109 -----------------------------" >>testtrygrep 593*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -cq --exclude=grepinputC lazy ./testdata/grepinput*) >>testtrygrep 594*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 595*22dc650dSSadaf Ebrahimi 596*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 110 -----------------------------" >>testtrygrep 597*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --om-separator / -Mo0 -o1 -o2 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep 598*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 599*22dc650dSSadaf Ebrahimi 600*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 111 -----------------------------" >>testtrygrep 601*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --line-offsets -M 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep 602*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 603*22dc650dSSadaf Ebrahimi 604*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 112 -----------------------------" >>testtrygrep 605*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --file-offsets -M 'match (\d+):\n (.)\n' testdata/grepinput) >>testtrygrep 606*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 607*22dc650dSSadaf Ebrahimi 608*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 113 -----------------------------" >>testtrygrep 609*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --total-count --exclude=grepinputC 'the' testdata/grepinput*) >>testtrygrep 610*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 611*22dc650dSSadaf Ebrahimi 612*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 114 -----------------------------" >>testtrygrep 613*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -tc --exclude=grepinputC 'the' testdata/grepinput*) >>testtrygrep 614*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 615*22dc650dSSadaf Ebrahimi 616*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 115 -----------------------------" >>testtrygrep 617*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -tlc --exclude=grepinputC 'the' testdata/grepinput*) >>testtrygrep 618*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 619*22dc650dSSadaf Ebrahimi 620*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 116 -----------------------------" >>testtrygrep 621*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --exclude=grepinput[MC] -th 'the' testdata/grepinput*) >>testtrygrep 622*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 623*22dc650dSSadaf Ebrahimi 624*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 117 -----------------------------" >>testtrygrep 625*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -tch --exclude=grepinputC 'the' testdata/grepinput*) >>testtrygrep 626*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 627*22dc650dSSadaf Ebrahimi 628*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 118 -----------------------------" >>testtrygrep 629*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -tL --exclude=grepinputC 'the' testdata/grepinput*) >>testtrygrep 630*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 631*22dc650dSSadaf Ebrahimi 632*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 119 -----------------------------" >>testtrygrep 633*22dc650dSSadaf Ebrahimiprintf '123\n456\n789\n---abc\ndef\nxyz\n---\n' >testNinputgrep 634*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -Mo '(\n|[^-])*---' testNinputgrep >>testtrygrep 635*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 636*22dc650dSSadaf Ebrahimi 637*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 120 ------------------------------" >>testtrygrep 638*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -HO '$0:$2$1$3' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 639*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 640*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -m 1 -O '$0:$a$b$e$f$r$t$v' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 641*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 642*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -HO '${X}' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 2>&1 643*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 644*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -HO 'XX$' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 2>&1 645*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 646*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -O '$x{12345678}' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 2>&1 647*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 648*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -O '$x{123Z' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 2>&1 649*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 650*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --output '$x{1234}' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtrygrep 2>&1 651*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 652*22dc650dSSadaf Ebrahimi 653*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 121 -----------------------------" >>testtrygrep 654*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -F '\E and (regex)' testdata/grepinputv) >>testtrygrep 655*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 656*22dc650dSSadaf Ebrahimi 657*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 122 -----------------------------" >>testtrygrep 658*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -w 'cat|dog' testdata/grepinputv) >>testtrygrep 659*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 660*22dc650dSSadaf Ebrahimi 661*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 123 -----------------------------" >>testtrygrep 662*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -w 'dog|cat' testdata/grepinputv) >>testtrygrep 663*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 664*22dc650dSSadaf Ebrahimi 665*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 124 -----------------------------" >>testtrygrep 666*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mn --colour=always 'start[\s]+end' testdata/grepinputM) >>testtrygrep 667*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 668*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mn --colour=always -A2 'start[\s]+end' testdata/grepinputM) >>testtrygrep 669*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 670*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mn 'start[\s]+end' testdata/grepinputM) >>testtrygrep 671*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 672*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -Mn -A2 'start[\s]+end' testdata/grepinputM) >>testtrygrep 673*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 674*22dc650dSSadaf Ebrahimi 675*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 125 -----------------------------" >>testtrygrep 676*22dc650dSSadaf Ebrahimiprintf 'abcd\n' >testNinputgrep 677*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --colour=always --allow-lookaround-bsk '(?<=\K.)' testNinputgrep >>testtrygrep 678*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 679*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --colour=always --allow-lookaround-bsk '(?=.\K)' testNinputgrep >>testtrygrep 680*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 681*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --colour=always --allow-lookaround-bsk '(?<=\K[ac])' testNinputgrep >>testtrygrep 682*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 683*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --colour=always --allow-lookaround-bsk '(?=[ac]\K)' testNinputgrep >>testtrygrep 684*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 685*22dc650dSSadaf EbrahimiGREP_COLORS='ms=1;20' $valgrind $vjs $pcre2grep --colour=always --allow-lookaround-bsk '(?=[ac]\K)' testNinputgrep >>testtrygrep 686*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 687*22dc650dSSadaf Ebrahimi 688*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 126 -----------------------------" >>testtrygrep 689*22dc650dSSadaf Ebrahimiprintf 'Next line pattern has binary zero\nABC\0XYZ\n' >testtemp1grep 690*22dc650dSSadaf Ebrahimiprintf 'ABC\0XYZ\nABCDEF\nDEFABC\n' >testtemp2grep 691*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -a -f testtemp1grep testtemp2grep >>testtrygrep 692*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 693*22dc650dSSadaf Ebrahimiprintf 'Next line pattern is erroneous.\n^abc)(xy' >testtemp1grep 694*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -a -f testtemp1grep testtemp2grep >>testtrygrep 2>&1 695*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 696*22dc650dSSadaf Ebrahimi 697*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 127 -----------------------------" >>testtrygrep 698*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o --om-capture=0 'pattern()()()()' testdata/grepinput) >>testtrygrep 699*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 700*22dc650dSSadaf Ebrahimi 701*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 128 -----------------------------" >>testtrygrep 702*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -m1M -o1 --om-capture=0 'pattern()()()()' testdata/grepinput) >>testtrygrep 2>&1 703*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 704*22dc650dSSadaf Ebrahimi 705*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 129 -----------------------------" >>testtrygrep 706*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -m 2 'fox' testdata/grepinput) >>testtrygrep 2>&1 707*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 708*22dc650dSSadaf Ebrahimi 709*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 130 -----------------------------" >>testtrygrep 710*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -o -m2 'fox' testdata/grepinput) >>testtrygrep 2>&1 711*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 712*22dc650dSSadaf Ebrahimi 713*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 131 -----------------------------" >>testtrygrep 714*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -oc -m2 'fox' testdata/grepinput) >>testtrygrep 2>&1 715*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 716*22dc650dSSadaf Ebrahimi 717*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 132 -----------------------------" >>testtrygrep 718*22dc650dSSadaf Ebrahimi(cd $srcdir; exec 3<testdata/grepinput; $valgrind $vjs $pcre2grep -m1 -A3 '^match' <&3; echo '---'; head -1 <&3; exec 3<&-) >>testtrygrep 2>&1 719*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 720*22dc650dSSadaf Ebrahimi 721*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 133 -----------------------------" >>testtrygrep 722*22dc650dSSadaf Ebrahimi(cd $srcdir; exec 3<testdata/grepinput; $valgrind $vjs $pcre2grep -m1 -A3 '^match' <&3; echo '---'; $valgrind $vjs $pcre2grep -m1 -A3 '^match' <&3; exec 3<&-) >>testtrygrep 2>&1 723*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 724*22dc650dSSadaf Ebrahimi 725*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 134 -----------------------------" >>testtrygrep 726*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --max-count=1 -nH -O '=$x{41}$x423$o{103}$o1045=' 'fox' -) <$srcdir/testdata/grepinputv >>testtrygrep 2>&1 727*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 728*22dc650dSSadaf Ebrahimi 729*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 135 -----------------------------" >>testtrygrep 730*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -HZ 'word' ./testdata/grepinputv) | $tr '\000' '@' >>testtrygrep 731*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 732*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -lZ 'word' ./testdata/grepinputv ./testdata/grepinputv) | $tr '\000' '@' >>testtrygrep 733*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 734*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -A 1 -B 1 -HZ 'word' ./testdata/grepinputv) | $tr '\000' '@' >>testtrygrep 735*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 736*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -MHZn 'start[\s]+end' testdata/grepinputM) >>testtrygrep 737*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 738*22dc650dSSadaf Ebrahimi 739*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 136 -----------------------------" >>testtrygrep 740*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -m1MK -o1 --om-capture=0 'pattern()()()()' testdata/grepinput) >>testtrygrep 2>&1 741*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 742*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --max-count=1MK -o1 --om-capture=0 'pattern()()()()' testdata/grepinput) >>testtrygrep 2>&1 743*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 744*22dc650dSSadaf Ebrahimi 745*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 137 -----------------------------" >>testtrygrep 746*22dc650dSSadaf Ebrahimiprintf 'Last line\nhas no newline' >testtemp1grep 747*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -A1 Last testtemp1grep >>testtrygrep 748*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 749*22dc650dSSadaf Ebrahimi 750*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 138 -----------------------------" >>testtrygrep 751*22dc650dSSadaf Ebrahimiprintf 'AbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\nAbC\n' >testtemp1grep 752*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --no-jit --heap-limit=0 b testtemp1grep >>testtrygrep 2>&1 753*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 754*22dc650dSSadaf Ebrahimi 755*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 139 -----------------------------" >>testtrygrep 756*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --line-buffered 'fox' testdata/grepinputv) >>testtrygrep 757*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 758*22dc650dSSadaf Ebrahimi 759*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 140 -----------------------------" >>testtrygrep 760*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --buffer-size=10 -A1 'brown' testdata/grepinputv) >>testtrygrep 761*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 762*22dc650dSSadaf Ebrahimi 763*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 141 -----------------------------" >>testtrygrep 764*22dc650dSSadaf Ebrahimiprintf "$srcdir/testdata/grepinputv\n-\n" >testtemp1grep 765*22dc650dSSadaf Ebrahimiprintf 'This is a line from stdin.' >testtemp2grep 766*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --file-list testtemp1grep "line from stdin" <testtemp2grep >>testtrygrep 2>&1 767*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 768*22dc650dSSadaf Ebrahimi 769*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 142 -----------------------------" >>testtrygrep 770*22dc650dSSadaf Ebrahimiprintf "/does/not/exist\n" >testtemp1grep 771*22dc650dSSadaf Ebrahimiprintf 'This is a line from stdin.' >testtemp2grep 772*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --file-list testtemp1grep "line from stdin" >>testtrygrep 2>&1 773*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 774*22dc650dSSadaf Ebrahimi 775*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 143 -----------------------------" >>testtrygrep 776*22dc650dSSadaf Ebrahimiprintf 'fox|cat' >testtemp1grep 777*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -f - $srcdir/testdata/grepinputv <testtemp1grep >>testtrygrep 2>&1 778*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 779*22dc650dSSadaf Ebrahimi 780*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 144 -----------------------------" >>testtrygrep 781*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -f /non/exist $srcdir/testdata/grepinputv >>testtrygrep 2>&1 782*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 783*22dc650dSSadaf Ebrahimi 784*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 145 -----------------------------" >>testtrygrep 785*22dc650dSSadaf Ebrahimiprintf '*meta*\rdog.' >testtemp1grep 786*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -Ncr -F -f testtemp1grep $srcdir/testdata/grepinputv >>testtrygrep 2>&1 787*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 788*22dc650dSSadaf Ebrahimi 789*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 146 -----------------------------" >>testtrygrep 790*22dc650dSSadaf Ebrahimiprintf 'A123B' >testtemp1grep 791*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -H -e '123|fox' - <testtemp1grep >>testtrygrep 2>&1 792*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 793*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -h -e '123|fox' - $srcdir/testdata/grepinputv <testtemp1grep >>testtrygrep 2>&1 794*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 795*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep - $srcdir/testdata/grepinputv <testtemp1grep >>testtrygrep 2>&1 796*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 797*22dc650dSSadaf Ebrahimi 798*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 147 -----------------------------" >>testtrygrep 799*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -e '123|fox' -- -nonfile >>testtrygrep 2>&1 800*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 801*22dc650dSSadaf Ebrahimi 802*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 148 -----------------------------" >>testtrygrep 803*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --nonexist >>testtrygrep 2>&1 804*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 805*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n-n-bad >>testtrygrep 2>&1 806*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 807*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --context >>testtrygrep 2>&1 808*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 809*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --only-matching --output=xx >>testtrygrep 2>&1 810*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 811*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --colour=badvalue >>testtrygrep 2>&1 812*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 813*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --newline=badvalue >>testtrygrep 2>&1 814*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 815*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -d badvalue >>testtrygrep 2>&1 816*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 817*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -D badvalue >>testtrygrep 2>&1 818*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 819*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --buffer-size=0 >>testtrygrep 2>&1 820*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 821*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --exclude '(badpat' abc /dev/null >>testtrygrep 2>&1 822*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 823*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --exclude-from /non/exist abc /dev/null >>testtrygrep 2>&1 824*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 825*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --include-from /non/exist abc /dev/null >>testtrygrep 2>&1 826*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 827*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep --file-list=/non/exist abc /dev/null >>testtrygrep 2>&1 828*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 829*22dc650dSSadaf Ebrahimi 830*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 149 -----------------------------" >>testtrygrep 831*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --binary-files=binary "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 832*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 833*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --binary-files=wrong "dog" ./testdata/grepbinary) >>testtrygrep 2>&1 834*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 835*22dc650dSSadaf Ebrahimi 836*22dc650dSSadaf Ebrahimi# This test runs the code that tests locale support. However, on some systems 837*22dc650dSSadaf Ebrahimi# (e.g. Alpine Linux) there is no locale support and running this test just 838*22dc650dSSadaf Ebrahimi# generates a "no match" result. Therefore, we test for locale support, and if 839*22dc650dSSadaf Ebrahimi# it is found missing, we pretend that the test has run as expected so that the 840*22dc650dSSadaf Ebrahimi# output matches. 841*22dc650dSSadaf Ebrahimi 842*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 150 -----------------------------" >>testtrygrep 843*22dc650dSSadaf Ebrahimiwhich locale >/dev/null 2>&1 844*22dc650dSSadaf Ebrahimiif [ $? -ne 0 ]; then 845*22dc650dSSadaf Ebrahimi echo "pcre2grep: Failed to set locale badlocale (obtained from LC_CTYPE)" >>testtrygrep 846*22dc650dSSadaf Ebrahimi echo "RC=2" >>testtrygrep 847*22dc650dSSadaf Ebrahimielse 848*22dc650dSSadaf Ebrahimi 849*22dc650dSSadaf Ebrahimi (cd $srcdir; unset LC_ALL; env LC_CTYPE=badlocale $valgrind $vjs $pcre2grep abc /dev/null) >>testtrygrep 2>&1 850*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 851*22dc650dSSadaf Ebrahimifi 852*22dc650dSSadaf Ebrahimi 853*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 151 -----------------------------" >>testtrygrep 854*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep --colour=always -e this -e The -e 'The wo' testdata/grepinputv) >>testtrygrep 855*22dc650dSSadaf Ebrahimi 856*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 152 -----------------------------" >>testtrygrep 857*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nA3 --group-separator='++' 'four' ./testdata/grepinputx) >>testtrygrep 858*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 859*22dc650dSSadaf Ebrahimi 860*22dc650dSSadaf Ebrahimiecho "---------------------------- Test 153 -----------------------------" >>testtrygrep 861*22dc650dSSadaf Ebrahimi(cd $srcdir; $valgrind $vjs $pcre2grep -nA3 --no-group-separator 'four' ./testdata/grepinputx) >>testtrygrep 862*22dc650dSSadaf Ebrahimiecho "RC=$?" >>testtrygrep 863*22dc650dSSadaf Ebrahimi 864*22dc650dSSadaf Ebrahimi 865*22dc650dSSadaf Ebrahimi# Now compare the results. 866*22dc650dSSadaf Ebrahimi 867*22dc650dSSadaf Ebrahimi$cf $srcdir/testdata/grepoutput testtrygrep 868*22dc650dSSadaf Ebrahimiif [ $? != 0 ] ; then exit 1; fi 869*22dc650dSSadaf Ebrahimi 870*22dc650dSSadaf Ebrahimi 871*22dc650dSSadaf Ebrahimi# These tests require UTF-8 support 872*22dc650dSSadaf Ebrahimi 873*22dc650dSSadaf Ebrahimiif [ $utf8 -ne 0 ] ; then 874*22dc650dSSadaf Ebrahimi echo "Testing pcre2grep UTF-8 features" 875*22dc650dSSadaf Ebrahimi 876*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U1 ------------------------------" >testtrygrep 877*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -n -u --newline=any "^X" ./testdata/grepinput8) >>testtrygrep 878*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 879*22dc650dSSadaf Ebrahimi 880*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U2 ------------------------------" >>testtrygrep 881*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -n -u -C 3 --newline=any "Match" ./testdata/grepinput8) >>testtrygrep 882*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 883*22dc650dSSadaf Ebrahimi 884*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U3 ------------------------------" >>testtrygrep 885*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep --line-offsets -u --newline=any --allow-lookaround-bsk '(?<=\K\x{17f})' ./testdata/grepinput8) >>testtrygrep 886*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 887*22dc650dSSadaf Ebrahimi 888*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U4 ------------------------------" >>testtrygrep 889*22dc650dSSadaf Ebrahimi printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep 890*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -u -o '....' $builddir/testtemp1grep) >>testtrygrep 2>&1 891*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 892*22dc650dSSadaf Ebrahimi 893*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U5 ------------------------------" >>testtrygrep 894*22dc650dSSadaf Ebrahimi printf 'A\341\200\200\200CD\342\200\200Z\n' >testtemp1grep 895*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -U -o '....' $builddir/testtemp1grep) >>testtrygrep 896*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 897*22dc650dSSadaf Ebrahimi 898*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U6 -----------------------------" >>testtrygrep 899*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -u -m1 -O '=$x{1d3}$o{744}=' 'fox') <$srcdir/testdata/grepinputv >>testtrygrep 2>&1 900*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 901*22dc650dSSadaf Ebrahimi 902*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U7 ------------------------------" >>testtrygrep 903*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -ui --colour=always 'k+|\babc\b' ./testdata/grepinput8) >>testtrygrep 904*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 905*22dc650dSSadaf Ebrahimi 906*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U8 ------------------------------" >>testtrygrep 907*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -UiEP --colour=always 'k+|\babc\b' ./testdata/grepinput8) >>testtrygrep 908*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 909*22dc650dSSadaf Ebrahimi 910*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U9 ------------------------------" >>testtrygrep 911*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -u --colour=always 'A\d' ./testdata/grepinput8) >>testtrygrep 912*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 913*22dc650dSSadaf Ebrahimi 914*22dc650dSSadaf Ebrahimi echo "---------------------------- Test U10 ------------------------------" >>testtrygrep 915*22dc650dSSadaf Ebrahimi (cd $srcdir; $valgrind $vjs $pcre2grep -u --posix-digit --colour=always 'A\d' ./testdata/grepinput8) >>testtrygrep 916*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 917*22dc650dSSadaf Ebrahimi 918*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutput8 testtrygrep 919*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 920*22dc650dSSadaf Ebrahimi 921*22dc650dSSadaf Ebrahimielse 922*22dc650dSSadaf Ebrahimi echo "Skipping pcre2grep UTF-8 tests: no UTF-8 support in PCRE2 library" 923*22dc650dSSadaf Ebrahimifi 924*22dc650dSSadaf Ebrahimi 925*22dc650dSSadaf Ebrahimi 926*22dc650dSSadaf Ebrahimi# We go to some contortions to try to ensure that the tests for the various 927*22dc650dSSadaf Ebrahimi# newline settings will work in environments where the normal newline sequence 928*22dc650dSSadaf Ebrahimi# is not \n. Do not use exported files, whose line endings might be changed. 929*22dc650dSSadaf Ebrahimi# Instead, create an input file using printf so that its contents are exactly 930*22dc650dSSadaf Ebrahimi# what we want. Note the messy fudge to get printf to write a string that 931*22dc650dSSadaf Ebrahimi# starts with a hyphen. These tests are run in the build directory. 932*22dc650dSSadaf Ebrahimi 933*22dc650dSSadaf Ebrahimiecho "Testing pcre2grep newline settings" 934*22dc650dSSadaf Ebrahimiprintf 'abc\rdef\r\nghi\njkl' >testNinputgrep 935*22dc650dSSadaf Ebrahimi 936*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N1 ------------------------------\r\n' - >testtrygrep 937*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n -N CR "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep 938*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -B1 -n -N CR "^def" testNinputgrep >>testtrygrep 939*22dc650dSSadaf Ebrahimi 940*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N2 ------------------------------\r\n' - >>testtrygrep 941*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n --newline=crlf "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep 942*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -B1 -n -N CRLF "^ghi" testNinputgrep >>testtrygrep 943*22dc650dSSadaf Ebrahimi 944*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N3 ------------------------------\r\n' - >>testtrygrep 945*22dc650dSSadaf Ebrahimipattern=`printf 'def\rjkl'` 946*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n --newline=cr -F "$pattern" testNinputgrep >>testtrygrep 947*22dc650dSSadaf Ebrahimi 948*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N4 ------------------------------\r\n' - >>testtrygrep 949*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n --newline=crlf -F -f $srcdir/testdata/greppatN4 testNinputgrep >>testtrygrep 950*22dc650dSSadaf Ebrahimi 951*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N5 ------------------------------\r\n' - >>testtrygrep 952*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n --newline=any "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep 953*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -B1 -n --newline=any "^def" testNinputgrep >>testtrygrep 954*22dc650dSSadaf Ebrahimi 955*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N6 ------------------------------\r\n' - >>testtrygrep 956*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -n --newline=anycrlf "^(abc|def|ghi|jkl)" testNinputgrep >>testtrygrep 957*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -B1 -n --newline=anycrlf "^jkl" testNinputgrep >>testtrygrep 958*22dc650dSSadaf Ebrahimi 959*22dc650dSSadaf Ebrahimiprintf '%c--------------------------- Test N7 ------------------------------\r\n' - >>testtrygrep 960*22dc650dSSadaf Ebrahimiprintf 'xyz\0abc\0def' >testNinputgrep 961*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -na --newline=nul "^(abc|def)" testNinputgrep | $tr '\000' '@' >>testtrygrep 962*22dc650dSSadaf Ebrahimi$valgrind $vjs $pcre2grep -B1 -na --newline=nul "^(abc|def)" testNinputgrep | $tr '\000' '@' >>testtrygrep 963*22dc650dSSadaf Ebrahimiecho "" >>testtrygrep 964*22dc650dSSadaf Ebrahimi 965*22dc650dSSadaf Ebrahimi$cf $srcdir/testdata/grepoutputN testtrygrep 966*22dc650dSSadaf Ebrahimiif [ $? != 0 ] ; then exit 1; fi 967*22dc650dSSadaf Ebrahimi 968*22dc650dSSadaf Ebrahimi 969*22dc650dSSadaf Ebrahimi# These newline tests need UTF support. 970*22dc650dSSadaf Ebrahimi 971*22dc650dSSadaf Ebrahimiif [ $utf8 -ne 0 ] ; then 972*22dc650dSSadaf Ebrahimi echo "Testing pcre2grep newline settings with UTF-8 features" 973*22dc650dSSadaf Ebrahimi 974*22dc650dSSadaf Ebrahimi printf '%c--------------------------- Test UN1 ------------------------------\r\n' - >testtrygrep 975*22dc650dSSadaf Ebrahimi printf 'abc\341\210\264def\nxyz' >testNinputgrep 976*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep -nau --newline=anycrlf "^(abc|def)" testNinputgrep >>testtrygrep 977*22dc650dSSadaf Ebrahimi echo "" >>testtrygrep 978*22dc650dSSadaf Ebrahimi 979*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputUN testtrygrep 980*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 981*22dc650dSSadaf Ebrahimielse 982*22dc650dSSadaf Ebrahimi echo "Skipping pcre2grep newline UTF-8 tests: no UTF-8 support in PCRE2 library" 983*22dc650dSSadaf Ebrahimifi 984*22dc650dSSadaf Ebrahimi 985*22dc650dSSadaf Ebrahimi 986*22dc650dSSadaf Ebrahimi# If pcre2grep supports script callouts, run some tests on them. It is possible 987*22dc650dSSadaf Ebrahimi# to restrict these callouts to the non-fork case, either for security, or for 988*22dc650dSSadaf Ebrahimi# environments that do not support fork(). This is handled by comparing to a 989*22dc650dSSadaf Ebrahimi# different output. 990*22dc650dSSadaf Ebrahimi 991*22dc650dSSadaf Ebrahimiif $valgrind $vjs $pcre2grep --help | $valgrind $vjs $pcre2grep -q 'callout scripts in patterns are supported'; then 992*22dc650dSSadaf Ebrahimi echo "Testing pcre2grep script callouts" 993*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep '(T)(..(.))(?C"/bin/echo|Arg1: [$1] [$2] [$3]|Arg2: $|${1}$| ($4) ($14) ($0)")()' $srcdir/testdata/grepinputv >testtrygrep 994*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep '(T)(..(.))()()()()()()()(..)(?C"/bin/echo|Arg1: [$11] [${11}]")' $srcdir/testdata/grepinputv >>testtrygrep 995*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep '(T)(?C"|$0:$1$n")' $srcdir/testdata/grepinputv >>testtrygrep 996*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep '(T)(?C"/bin/echo|$0:$1$n")' $srcdir/testdata/grepinputv >>testtrygrep 997*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep '(T)(?C"|$1$n")(*F)' $srcdir/testdata/grepinputv >>testtrygrep 998*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep -m1 '(T)(?C"|$0:$1:$x{41}$o{101}$n")' $srcdir/testdata/grepinputv >>testtrygrep 999*22dc650dSSadaf Ebrahimi 1000*22dc650dSSadaf Ebrahimi if $valgrind $vjs $pcre2grep --help | $valgrind $vjs $pcre2grep -q 'Non-fork callout scripts in patterns are supported'; then 1001*22dc650dSSadaf Ebrahimi nonfork=1 1002*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputCN testtrygrep 1003*22dc650dSSadaf Ebrahimi else 1004*22dc650dSSadaf Ebrahimi nonfork=0 1005*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputC testtrygrep 1006*22dc650dSSadaf Ebrahimi fi 1007*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 1008*22dc650dSSadaf Ebrahimi 1009*22dc650dSSadaf Ebrahimi # These callout tests need UTF support. 1010*22dc650dSSadaf Ebrahimi 1011*22dc650dSSadaf Ebrahimi if [ $utf8 -ne 0 ] ; then 1012*22dc650dSSadaf Ebrahimi echo "Testing pcre2grep script callout with UTF-8 features" 1013*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep -u '(T)(?C"|$0:$x{a6}$n")' $srcdir/testdata/grepinputv >testtrygrep 1014*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep -u '(T)(?C"/bin/echo|$0:$x{a6}$n")' $srcdir/testdata/grepinputv >>testtrygrep 1015*22dc650dSSadaf Ebrahimi 1016*22dc650dSSadaf Ebrahimi if [ $nonfork = 1 ] ; then 1017*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputCNU testtrygrep 1018*22dc650dSSadaf Ebrahimi else 1019*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputCU testtrygrep 1020*22dc650dSSadaf Ebrahimi fi 1021*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 1022*22dc650dSSadaf Ebrahimi fi 1023*22dc650dSSadaf Ebrahimielse 1024*22dc650dSSadaf Ebrahimi echo "Script callouts are not supported" 1025*22dc650dSSadaf Ebrahimifi 1026*22dc650dSSadaf Ebrahimi 1027*22dc650dSSadaf Ebrahimi 1028*22dc650dSSadaf Ebrahimi# Test reading .gz and .bz2 files when supported. 1029*22dc650dSSadaf Ebrahimi 1030*22dc650dSSadaf Ebrahimiif $valgrind $vjs $pcre2grep --help | $valgrind $vjs $pcre2grep -q '\.gz are read using zlib'; then 1031*22dc650dSSadaf Ebrahimi echo "Testing reading .gz file" 1032*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep 'one|two' $srcdir/testdata/grepinputC.gz >testtrygrep 1033*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 1034*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputCgz testtrygrep 1035*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 1036*22dc650dSSadaf Ebrahimifi 1037*22dc650dSSadaf Ebrahimi 1038*22dc650dSSadaf Ebrahimiif $valgrind $vjs $pcre2grep --help | $valgrind $vjs $pcre2grep -q '\.bz2 are read using bzlib2'; then 1039*22dc650dSSadaf Ebrahimi echo "Testing reading .bz2 file" 1040*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep 'one|two' $srcdir/testdata/grepinputC.bz2 >testtrygrep 1041*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 1042*22dc650dSSadaf Ebrahimi $valgrind $vjs $pcre2grep 'one|two' $srcdir/testdata/grepnot.bz2 >>testtrygrep 1043*22dc650dSSadaf Ebrahimi echo "RC=$?" >>testtrygrep 1044*22dc650dSSadaf Ebrahimi $cf $srcdir/testdata/grepoutputCbz2 testtrygrep 1045*22dc650dSSadaf Ebrahimi if [ $? != 0 ] ; then exit 1; fi 1046*22dc650dSSadaf Ebrahimifi 1047*22dc650dSSadaf Ebrahimi 1048*22dc650dSSadaf Ebrahimi 1049*22dc650dSSadaf Ebrahimi# Finally, some tests to exercise code that is not tested above, just to be 1050*22dc650dSSadaf Ebrahimi# sure that it runs OK. Doing this improves the coverage statistics. The output 1051*22dc650dSSadaf Ebrahimi# is not checked. 1052*22dc650dSSadaf Ebrahimi 1053*22dc650dSSadaf Ebrahimiecho "Testing miscellaneous pcre2grep arguments (unchecked)" 1054*22dc650dSSadaf Ebrahimiecho '' >testtrygrep 1055*22dc650dSSadaf Ebrahimicheckspecial '-xxxxx' 2 1056*22dc650dSSadaf Ebrahimicheckspecial '--help' 0 1057*22dc650dSSadaf Ebrahimicheckspecial '--line-buffered --colour=auto abc /dev/null' 1 1058*22dc650dSSadaf Ebrahimicheckspecial '--line-buffered --color abc /dev/null' 1 1059*22dc650dSSadaf Ebrahimicheckspecial '-dskip abc .' 1 1060*22dc650dSSadaf Ebrahimicheckspecial '-Dread -Dskip abc /dev/null' 1 1061*22dc650dSSadaf Ebrahimi 1062*22dc650dSSadaf Ebrahimi# Clean up local working files 1063*22dc650dSSadaf Ebrahimirm -f testNinputgrep teststderrgrep testtrygrep testtemp1grep testtemp2grep 1064*22dc650dSSadaf Ebrahimi 1065*22dc650dSSadaf Ebrahimiexit 0 1066*22dc650dSSadaf Ebrahimi 1067*22dc650dSSadaf Ebrahimi# End 1068