tools/pcre/RunGrepTest
author Nicholas Hastings <skamonkey@gmail.com>
Mon Jul 29 10:03:18 2013 -0400 (2013-07-29)
changeset 3960 d50b36dc6821
parent 3831 babd0eee3c5e
permissions -rwxr-xr-x
Updated for latest hl2sdk-dota changes.
dvander@2762
     1
#! /bin/sh
dvander@2762
     2
dvander@2762
     3
# Run pcregrep tests. The assumption is that the PCRE tests check the library
dvander@2762
     4
# itself. What we are checking here is the file handling and options that are
skamonkey@3831
     5
# supported by pcregrep. This script must be run in the build directory.
dvander@2762
     6
dvander@2762
     7
# Set the C locale, so that sort(1) behaves predictably.
skamonkey@3831
     8
dvander@2762
     9
LC_ALL=C
dvander@2762
    10
export LC_ALL
dvander@2762
    11
skamonkey@3831
    12
# Remove any non-default colouring and aliases that the caller may have set.
skamonkey@3831
    13
skamonkey@3831
    14
unset PCREGREP_COLOUR PCREGREP_COLOR
skamonkey@3831
    15
unset cp ls mv rm
dvander@2762
    16
skamonkey@3831
    17
# Remember the current (build) directory, set the program to be tested, and
skamonkey@3831
    18
# valgrind settings when requested.
dvander@2762
    19
skamonkey@3831
    20
builddir=`pwd`
skamonkey@3831
    21
pcregrep=$builddir/pcregrep
skamonkey@3831
    22
dvander@2762
    23
valgrind=
dvander@2762
    24
while [ $# -gt 0 ] ; do
dvander@2762
    25
  case $1 in
skamonkey@3831
    26
    valgrind) valgrind="valgrind -q --leak-check=no --smc-check=all";;
skamonkey@3831
    27
    *) echo "RunGrepTest: Unknown argument $1"; exit 1;;
dvander@2762
    28
  esac
dvander@2762
    29
  shift
dvander@2762
    30
done
dvander@2762
    31
skamonkey@3831
    32
echo " "
skamonkey@3831
    33
pcregrep_version=`$pcregrep -V`
skamonkey@3831
    34
if [ "$valgrind" = "" ] ; then
skamonkey@3831
    35
  echo "Testing $pcregrep_version"
skamonkey@3831
    36
else
skamonkey@3831
    37
  echo "Testing $pcregrep_version using valgrind"
skamonkey@3831
    38
fi
skamonkey@3831
    39
skamonkey@3831
    40
# Set up a suitable "diff" command for comparison. Some systems have a diff
skamonkey@3831
    41
# that lacks a -u option. Try to deal with this; better do the test for the -b
skamonkey@3831
    42
# option as well.
skamonkey@3831
    43
skamonkey@3831
    44
cf="diff"
skamonkey@3831
    45
diff -b  /dev/null /dev/null 2>/dev/null && cf="diff -b"
skamonkey@3831
    46
diff -u  /dev/null /dev/null 2>/dev/null && cf="diff -u"
skamonkey@3831
    47
diff -ub /dev/null /dev/null 2>/dev/null && cf="diff -ub"
skamonkey@3831
    48
skamonkey@3831
    49
# If this test is being run from "make check", $srcdir will be set. If not, set
skamonkey@3831
    50
# it to the current or parent directory, whichever one contains the test data.
skamonkey@3831
    51
# Subsequently, we run most of the pcregrep tests in the source directory so
skamonkey@3831
    52
# that the file names in the output are always the same.
dvander@2762
    53
dvander@2762
    54
if [ -z "$srcdir" -o ! -d "$srcdir/testdata" ] ; then
skamonkey@3831
    55
  if [ -d "./testdata" ] ; then
skamonkey@3831
    56
    srcdir=.
skamonkey@3831
    57
  elif [ -d "../testdata" ] ; then
skamonkey@3831
    58
    srcdir=..
skamonkey@3831
    59
  else
skamonkey@3831
    60
    echo "Cannot find the testdata directory"
skamonkey@3831
    61
    exit 1
skamonkey@3831
    62
  fi
dvander@2762
    63
fi
dvander@2762
    64
dvander@2762
    65
# Check for the availability of UTF-8 support
dvander@2762
    66
skamonkey@3831
    67
./pcretest -C utf >/dev/null
dvander@2762
    68
utf8=$?
dvander@2762
    69
skamonkey@3831
    70
echo "Testing pcregrep main features"
skamonkey@3831
    71
dvander@2762
    72
echo "---------------------------- Test 1 ------------------------------" >testtry
dvander@2762
    73
(cd $srcdir; $valgrind $pcregrep PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
    74
echo "RC=$?" >>testtry
dvander@2762
    75
dvander@2762
    76
echo "---------------------------- Test 2 ------------------------------" >>testtry
dvander@2762
    77
(cd $srcdir; $valgrind $pcregrep '^PATTERN' ./testdata/grepinput) >>testtry
skamonkey@3831
    78
echo "RC=$?" >>testtry
dvander@2762
    79
dvander@2762
    80
echo "---------------------------- Test 3 ------------------------------" >>testtry
dvander@2762
    81
(cd $srcdir; $valgrind $pcregrep -in PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
    82
echo "RC=$?" >>testtry
dvander@2762
    83
dvander@2762
    84
echo "---------------------------- Test 4 ------------------------------" >>testtry
dvander@2762
    85
(cd $srcdir; $valgrind $pcregrep -ic PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
    86
echo "RC=$?" >>testtry
dvander@2762
    87
dvander@2762
    88
echo "---------------------------- Test 5 ------------------------------" >>testtry
dvander@2762
    89
(cd $srcdir; $valgrind $pcregrep -in PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
    90
echo "RC=$?" >>testtry
dvander@2762
    91
dvander@2762
    92
echo "---------------------------- Test 6 ------------------------------" >>testtry
dvander@2762
    93
(cd $srcdir; $valgrind $pcregrep -inh PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
    94
echo "RC=$?" >>testtry
dvander@2762
    95
dvander@2762
    96
echo "---------------------------- Test 7 ------------------------------" >>testtry
dvander@2762
    97
(cd $srcdir; $valgrind $pcregrep -il PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
    98
echo "RC=$?" >>testtry
dvander@2762
    99
dvander@2762
   100
echo "---------------------------- Test 8 ------------------------------" >>testtry
dvander@2762
   101
(cd $srcdir; $valgrind $pcregrep -l PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
   102
echo "RC=$?" >>testtry
dvander@2762
   103
dvander@2762
   104
echo "---------------------------- Test 9 ------------------------------" >>testtry
dvander@2762
   105
(cd $srcdir; $valgrind $pcregrep -q PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
dvander@2762
   106
echo "RC=$?" >>testtry
dvander@2762
   107
dvander@2762
   108
echo "---------------------------- Test 10 -----------------------------" >>testtry
dvander@2762
   109
(cd $srcdir; $valgrind $pcregrep -q NEVER-PATTERN ./testdata/grepinput ./testdata/grepinputx) >>testtry
dvander@2762
   110
echo "RC=$?" >>testtry
dvander@2762
   111
dvander@2762
   112
echo "---------------------------- Test 11 -----------------------------" >>testtry
dvander@2762
   113
(cd $srcdir; $valgrind $pcregrep -vn pattern ./testdata/grepinputx) >>testtry
skamonkey@3831
   114
echo "RC=$?" >>testtry
dvander@2762
   115
dvander@2762
   116
echo "---------------------------- Test 12 -----------------------------" >>testtry
dvander@2762
   117
(cd $srcdir; $valgrind $pcregrep -ix pattern ./testdata/grepinputx) >>testtry
skamonkey@3831
   118
echo "RC=$?" >>testtry
dvander@2762
   119
dvander@2762
   120
echo "---------------------------- Test 13 -----------------------------" >>testtry
skamonkey@3831
   121
echo seventeen >testtemp1
skamonkey@3831
   122
(cd $srcdir; $valgrind $pcregrep -f./testdata/greplist -f $builddir/testtemp1 ./testdata/grepinputx) >>testtry
skamonkey@3831
   123
echo "RC=$?" >>testtry
dvander@2762
   124
dvander@2762
   125
echo "---------------------------- Test 14 -----------------------------" >>testtry
dvander@2762
   126
(cd $srcdir; $valgrind $pcregrep -w pat ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
   127
echo "RC=$?" >>testtry
dvander@2762
   128
dvander@2762
   129
echo "---------------------------- Test 15 -----------------------------" >>testtry
dvander@2762
   130
(cd $srcdir; $valgrind $pcregrep 'abc^*' ./testdata/grepinput) 2>>testtry >>testtry
skamonkey@3831
   131
echo "RC=$?" >>testtry
dvander@2762
   132
dvander@2762
   133
echo "---------------------------- Test 16 -----------------------------" >>testtry
dvander@2762
   134
(cd $srcdir; $valgrind $pcregrep abc ./testdata/grepinput ./testdata/nonexistfile) 2>>testtry >>testtry
skamonkey@3831
   135
echo "RC=$?" >>testtry
dvander@2762
   136
dvander@2762
   137
echo "---------------------------- Test 17 -----------------------------" >>testtry
dvander@2762
   138
(cd $srcdir; $valgrind $pcregrep -M 'the\noutput' ./testdata/grepinput) >>testtry
skamonkey@3831
   139
echo "RC=$?" >>testtry
dvander@2762
   140
dvander@2762
   141
echo "---------------------------- Test 18 -----------------------------" >>testtry
dvander@2762
   142
(cd $srcdir; $valgrind $pcregrep -Mn '(the\noutput|dog\.\n--)' ./testdata/grepinput) >>testtry
skamonkey@3831
   143
echo "RC=$?" >>testtry
dvander@2762
   144
dvander@2762
   145
echo "---------------------------- Test 19 -----------------------------" >>testtry
dvander@2762
   146
(cd $srcdir; $valgrind $pcregrep -Mix 'Pattern' ./testdata/grepinputx) >>testtry
skamonkey@3831
   147
echo "RC=$?" >>testtry
dvander@2762
   148
dvander@2762
   149
echo "---------------------------- Test 20 -----------------------------" >>testtry
dvander@2762
   150
(cd $srcdir; $valgrind $pcregrep -Mixn 'complete pair\nof lines' ./testdata/grepinputx) >>testtry
skamonkey@3831
   151
echo "RC=$?" >>testtry
dvander@2762
   152
dvander@2762
   153
echo "---------------------------- Test 21 -----------------------------" >>testtry
dvander@2762
   154
(cd $srcdir; $valgrind $pcregrep -nA3 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   155
echo "RC=$?" >>testtry
dvander@2762
   156
dvander@2762
   157
echo "---------------------------- Test 22 -----------------------------" >>testtry
dvander@2762
   158
(cd $srcdir; $valgrind $pcregrep -nB3 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   159
echo "RC=$?" >>testtry
dvander@2762
   160
dvander@2762
   161
echo "---------------------------- Test 23 -----------------------------" >>testtry
dvander@2762
   162
(cd $srcdir; $valgrind $pcregrep -C3 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   163
echo "RC=$?" >>testtry
dvander@2762
   164
dvander@2762
   165
echo "---------------------------- Test 24 -----------------------------" >>testtry
dvander@2762
   166
(cd $srcdir; $valgrind $pcregrep -A9 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   167
echo "RC=$?" >>testtry
dvander@2762
   168
dvander@2762
   169
echo "---------------------------- Test 25 -----------------------------" >>testtry
dvander@2762
   170
(cd $srcdir; $valgrind $pcregrep -nB9 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   171
echo "RC=$?" >>testtry
dvander@2762
   172
dvander@2762
   173
echo "---------------------------- Test 26 -----------------------------" >>testtry
dvander@2762
   174
(cd $srcdir; $valgrind $pcregrep -A9 -B9 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   175
echo "RC=$?" >>testtry
dvander@2762
   176
dvander@2762
   177
echo "---------------------------- Test 27 -----------------------------" >>testtry
dvander@2762
   178
(cd $srcdir; $valgrind $pcregrep -A10 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   179
echo "RC=$?" >>testtry
dvander@2762
   180
dvander@2762
   181
echo "---------------------------- Test 28 -----------------------------" >>testtry
dvander@2762
   182
(cd $srcdir; $valgrind $pcregrep -nB10 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   183
echo "RC=$?" >>testtry
dvander@2762
   184
dvander@2762
   185
echo "---------------------------- Test 29 -----------------------------" >>testtry
dvander@2762
   186
(cd $srcdir; $valgrind $pcregrep -C12 -B10 'four' ./testdata/grepinputx) >>testtry
skamonkey@3831
   187
echo "RC=$?" >>testtry
dvander@2762
   188
dvander@2762
   189
echo "---------------------------- Test 30 -----------------------------" >>testtry
dvander@2762
   190
(cd $srcdir; $valgrind $pcregrep -inB3 'pattern' ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
   191
echo "RC=$?" >>testtry
dvander@2762
   192
dvander@2762
   193
echo "---------------------------- Test 31 -----------------------------" >>testtry
dvander@2762
   194
(cd $srcdir; $valgrind $pcregrep -inA3 'pattern' ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
   195
echo "RC=$?" >>testtry
dvander@2762
   196
dvander@2762
   197
echo "---------------------------- Test 32 -----------------------------" >>testtry
dvander@2762
   198
(cd $srcdir; $valgrind $pcregrep -L 'fox' ./testdata/grepinput ./testdata/grepinputx) >>testtry
skamonkey@3831
   199
echo "RC=$?" >>testtry
dvander@2762
   200
dvander@2762
   201
echo "---------------------------- Test 33 -----------------------------" >>testtry
dvander@2762
   202
(cd $srcdir; $valgrind $pcregrep 'fox' ./testdata/grepnonexist) >>testtry 2>&1
dvander@2762
   203
echo "RC=$?" >>testtry
dvander@2762
   204
dvander@2762
   205
echo "---------------------------- Test 34 -----------------------------" >>testtry
dvander@2762
   206
(cd $srcdir; $valgrind $pcregrep -s 'fox' ./testdata/grepnonexist) >>testtry 2>&1
dvander@2762
   207
echo "RC=$?" >>testtry
dvander@2762
   208
dvander@2762
   209
echo "---------------------------- Test 35 -----------------------------" >>testtry
skamonkey@3831
   210
(cd $srcdir; $valgrind $pcregrep -L -r --include=grepinputx --include grepinput8 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtry
dvander@2762
   211
echo "RC=$?" >>testtry
dvander@2762
   212
dvander@2762
   213
echo "---------------------------- Test 36 -----------------------------" >>testtry
skamonkey@3831
   214
(cd $srcdir; $valgrind $pcregrep -L -r --include=grepinput --exclude 'grepinput$' --exclude=grepinput8 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtry
dvander@2762
   215
echo "RC=$?" >>testtry
dvander@2762
   216
dvander@2762
   217
echo "---------------------------- Test 37 -----------------------------" >>testtry
dvander@2762
   218
(cd $srcdir; $valgrind $pcregrep  '^(a+)*\d' ./testdata/grepinput) >>testtry 2>teststderr
dvander@2762
   219
echo "RC=$?" >>testtry
dvander@2762
   220
echo "======== STDERR ========" >>testtry
dvander@2762
   221
cat teststderr >>testtry
dvander@2762
   222
dvander@2762
   223
echo "---------------------------- Test 38 ------------------------------" >>testtry
dvander@2762
   224
(cd $srcdir; $valgrind $pcregrep '>\x00<' ./testdata/grepinput) >>testtry
skamonkey@3831
   225
echo "RC=$?" >>testtry
dvander@2762
   226
dvander@2762
   227
echo "---------------------------- Test 39 ------------------------------" >>testtry
dvander@2762
   228
(cd $srcdir; $valgrind $pcregrep -A1 'before the binary zero' ./testdata/grepinput) >>testtry
skamonkey@3831
   229
echo "RC=$?" >>testtry
dvander@2762
   230
dvander@2762
   231
echo "---------------------------- Test 40 ------------------------------" >>testtry
dvander@2762
   232
(cd $srcdir; $valgrind $pcregrep -B1 'after the binary zero' ./testdata/grepinput) >>testtry
skamonkey@3831
   233
echo "RC=$?" >>testtry
dvander@2762
   234
dvander@2762
   235
echo "---------------------------- Test 41 ------------------------------" >>testtry
dvander@2762
   236
(cd $srcdir; $valgrind $pcregrep -B1 -o '\w+ the binary zero' ./testdata/grepinput) >>testtry
skamonkey@3831
   237
echo "RC=$?" >>testtry
dvander@2762
   238
dvander@2762
   239
echo "---------------------------- Test 42 ------------------------------" >>testtry
skamonkey@3831
   240
(cd $srcdir; $valgrind $pcregrep -B1 -onH '\w+ the binary zero' ./testdata/grepinput) >>testtry
skamonkey@3831
   241
echo "RC=$?" >>testtry
dvander@2762
   242
dvander@2762
   243
echo "---------------------------- Test 43 ------------------------------" >>testtry
skamonkey@3831
   244
(cd $srcdir; $valgrind $pcregrep -on 'before|zero|after' ./testdata/grepinput) >>testtry
skamonkey@3831
   245
echo "RC=$?" >>testtry
dvander@2762
   246
dvander@2762
   247
echo "---------------------------- Test 44 ------------------------------" >>testtry
skamonkey@3831
   248
(cd $srcdir; $valgrind $pcregrep -on -e before -ezero -e after ./testdata/grepinput) >>testtry
skamonkey@3831
   249
echo "RC=$?" >>testtry
dvander@2762
   250
dvander@2762
   251
echo "---------------------------- Test 45 ------------------------------" >>testtry
skamonkey@3831
   252
(cd $srcdir; $valgrind $pcregrep -on -f ./testdata/greplist -e binary ./testdata/grepinput) >>testtry
skamonkey@3831
   253
echo "RC=$?" >>testtry
dvander@2762
   254
dvander@2762
   255
echo "---------------------------- Test 46 ------------------------------" >>testtry
skamonkey@3831
   256
(cd $srcdir; $valgrind $pcregrep -eabc -e '(unclosed' ./testdata/grepinput) 2>>testtry >>testtry
skamonkey@3831
   257
echo "RC=$?" >>testtry
skamonkey@3831
   258
skamonkey@3831
   259
echo "---------------------------- Test 47 ------------------------------" >>testtry
dvander@2762
   260
(cd $srcdir; $valgrind $pcregrep -Fx "AB.VE
dvander@2762
   261
elephant" ./testdata/grepinput) >>testtry
skamonkey@3831
   262
echo "RC=$?" >>testtry
dvander@2762
   263
skamonkey@3831
   264
echo "---------------------------- Test 48 ------------------------------" >>testtry
dvander@2762
   265
(cd $srcdir; $valgrind $pcregrep -F "AB.VE
dvander@2762
   266
elephant" ./testdata/grepinput) >>testtry
skamonkey@3831
   267
echo "RC=$?" >>testtry
dvander@2762
   268
skamonkey@3831
   269
echo "---------------------------- Test 49 ------------------------------" >>testtry
dvander@2762
   270
(cd $srcdir; $valgrind $pcregrep -F -e DATA -e "AB.VE
dvander@2762
   271
elephant" ./testdata/grepinput) >>testtry
skamonkey@3831
   272
echo "RC=$?" >>testtry
dvander@2762
   273
dvander@2762
   274
echo "---------------------------- Test 50 ------------------------------" >>testtry
skamonkey@3831
   275
(cd $srcdir; $valgrind $pcregrep "^(abc|def|ghi|jkl)" ./testdata/grepinputx) >>testtry
skamonkey@3831
   276
echo "RC=$?" >>testtry
dvander@2762
   277
dvander@2762
   278
echo "---------------------------- Test 51 ------------------------------" >>testtry
skamonkey@3831
   279
(cd $srcdir; $valgrind $pcregrep -Mv "brown\sfox" ./testdata/grepinputv) >>testtry
skamonkey@3831
   280
echo "RC=$?" >>testtry
dvander@2762
   281
dvander@2762
   282
echo "---------------------------- Test 52 ------------------------------" >>testtry
skamonkey@3831
   283
(cd $srcdir; $valgrind $pcregrep --colour=always jumps ./testdata/grepinputv) >>testtry
skamonkey@3831
   284
echo "RC=$?" >>testtry
dvander@2762
   285
dvander@2762
   286
echo "---------------------------- Test 53 ------------------------------" >>testtry
skamonkey@3831
   287
(cd $srcdir; $valgrind $pcregrep --file-offsets 'before|zero|after' ./testdata/grepinput) >>testtry
skamonkey@3831
   288
echo "RC=$?" >>testtry
skamonkey@3831
   289
skamonkey@3831
   290
echo "---------------------------- Test 54 ------------------------------" >>testtry
dvander@2762
   291
(cd $srcdir; $valgrind $pcregrep --line-offsets 'before|zero|after' ./testdata/grepinput) >>testtry
skamonkey@3831
   292
echo "RC=$?" >>testtry
skamonkey@3831
   293
skamonkey@3831
   294
echo "---------------------------- Test 55 -----------------------------" >>testtry
skamonkey@3831
   295
(cd $srcdir; $valgrind $pcregrep -f./testdata/greplist --color=always ./testdata/grepinputx) >>testtry
skamonkey@3831
   296
echo "RC=$?" >>testtry
skamonkey@3831
   297
skamonkey@3831
   298
echo "---------------------------- Test 56 -----------------------------" >>testtry
skamonkey@3831
   299
(cd $srcdir; $valgrind $pcregrep -c lazy ./testdata/grepinput*) >>testtry
skamonkey@3831
   300
echo "RC=$?" >>testtry
skamonkey@3831
   301
skamonkey@3831
   302
echo "---------------------------- Test 57 -----------------------------" >>testtry
skamonkey@3831
   303
(cd $srcdir; $valgrind $pcregrep -c -l lazy ./testdata/grepinput*) >>testtry
skamonkey@3831
   304
echo "RC=$?" >>testtry
skamonkey@3831
   305
skamonkey@3831
   306
echo "---------------------------- Test 58 -----------------------------" >>testtry
skamonkey@3831
   307
(cd $srcdir; $valgrind $pcregrep --regex=PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
   308
echo "RC=$?" >>testtry
skamonkey@3831
   309
skamonkey@3831
   310
echo "---------------------------- Test 59 -----------------------------" >>testtry
skamonkey@3831
   311
(cd $srcdir; $valgrind $pcregrep --regexp=PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
   312
echo "RC=$?" >>testtry
skamonkey@3831
   313
skamonkey@3831
   314
echo "---------------------------- Test 60 -----------------------------" >>testtry
skamonkey@3831
   315
(cd $srcdir; $valgrind $pcregrep --regex PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
   316
echo "RC=$?" >>testtry
skamonkey@3831
   317
skamonkey@3831
   318
echo "---------------------------- Test 61 -----------------------------" >>testtry
skamonkey@3831
   319
(cd $srcdir; $valgrind $pcregrep --regexp PATTERN ./testdata/grepinput) >>testtry
skamonkey@3831
   320
echo "RC=$?" >>testtry
skamonkey@3831
   321
skamonkey@3831
   322
echo "---------------------------- Test 62 -----------------------------" >>testtry
skamonkey@3831
   323
(cd $srcdir; $valgrind $pcregrep --match-limit=1000 --no-jit -M 'This is a file(.|\R)*file.' ./testdata/grepinput) >>testtry 2>&1
skamonkey@3831
   324
echo "RC=$?" >>testtry
skamonkey@3831
   325
skamonkey@3831
   326
echo "---------------------------- Test 63 -----------------------------" >>testtry
skamonkey@3831
   327
(cd $srcdir; $valgrind $pcregrep --recursion-limit=1000 --no-jit -M 'This is a file(.|\R)*file.' ./testdata/grepinput) >>testtry 2>&1
skamonkey@3831
   328
echo "RC=$?" >>testtry
skamonkey@3831
   329
skamonkey@3831
   330
echo "---------------------------- Test 64 ------------------------------" >>testtry
skamonkey@3831
   331
(cd $srcdir; $valgrind $pcregrep -o1 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtry
skamonkey@3831
   332
echo "RC=$?" >>testtry
skamonkey@3831
   333
skamonkey@3831
   334
echo "---------------------------- Test 65 ------------------------------" >>testtry
skamonkey@3831
   335
(cd $srcdir; $valgrind $pcregrep -o2 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtry
skamonkey@3831
   336
echo "RC=$?" >>testtry
skamonkey@3831
   337
skamonkey@3831
   338
echo "---------------------------- Test 66 ------------------------------" >>testtry
skamonkey@3831
   339
(cd $srcdir; $valgrind $pcregrep -o3 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtry
skamonkey@3831
   340
echo "RC=$?" >>testtry
skamonkey@3831
   341
skamonkey@3831
   342
echo "---------------------------- Test 67 ------------------------------" >>testtry
skamonkey@3831
   343
(cd $srcdir; $valgrind $pcregrep -o12 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtry
skamonkey@3831
   344
echo "RC=$?" >>testtry
skamonkey@3831
   345
skamonkey@3831
   346
echo "---------------------------- Test 68 ------------------------------" >>testtry
skamonkey@3831
   347
(cd $srcdir; $valgrind $pcregrep --only-matching=2 '(?<=PAT)TERN (ap(pear)s)' ./testdata/grepinput) >>testtry
skamonkey@3831
   348
echo "RC=$?" >>testtry
skamonkey@3831
   349
skamonkey@3831
   350
echo "---------------------------- Test 69 -----------------------------" >>testtry
skamonkey@3831
   351
(cd $srcdir; $valgrind $pcregrep -vn --colour=always pattern ./testdata/grepinputx) >>testtry
skamonkey@3831
   352
echo "RC=$?" >>testtry
skamonkey@3831
   353
skamonkey@3831
   354
echo "---------------------------- Test 70 -----------------------------" >>testtry
skamonkey@3831
   355
(cd $srcdir; $valgrind $pcregrep --color=always -M "triple:\t.*\n\n" ./testdata/grepinput3) >>testtry
skamonkey@3831
   356
echo "RC=$?" >>testtry
skamonkey@3831
   357
skamonkey@3831
   358
echo "---------------------------- Test 71 -----------------------------" >>testtry
skamonkey@3831
   359
(cd $srcdir; $valgrind $pcregrep -o "^01|^02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   360
echo "RC=$?" >>testtry
skamonkey@3831
   361
skamonkey@3831
   362
echo "---------------------------- Test 72 -----------------------------" >>testtry
skamonkey@3831
   363
(cd $srcdir; $valgrind $pcregrep --color=always "^01|^02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   364
echo "RC=$?" >>testtry
skamonkey@3831
   365
skamonkey@3831
   366
echo "---------------------------- Test 73 -----------------------------" >>testtry
skamonkey@3831
   367
(cd $srcdir; $valgrind $pcregrep -o --colour=always "^01|^02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   368
echo "RC=$?" >>testtry
skamonkey@3831
   369
skamonkey@3831
   370
echo "---------------------------- Test 74 -----------------------------" >>testtry
skamonkey@3831
   371
(cd $srcdir; $valgrind $pcregrep -o "^01|02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   372
echo "RC=$?" >>testtry
skamonkey@3831
   373
skamonkey@3831
   374
echo "---------------------------- Test 75 -----------------------------" >>testtry
skamonkey@3831
   375
(cd $srcdir; $valgrind $pcregrep --color=always "^01|02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   376
echo "RC=$?" >>testtry
skamonkey@3831
   377
skamonkey@3831
   378
echo "---------------------------- Test 76 -----------------------------" >>testtry
skamonkey@3831
   379
(cd $srcdir; $valgrind $pcregrep -o --colour=always "^01|02|^03" ./testdata/grepinput) >>testtry
skamonkey@3831
   380
echo "RC=$?" >>testtry
skamonkey@3831
   381
skamonkey@3831
   382
echo "---------------------------- Test 77 -----------------------------" >>testtry
skamonkey@3831
   383
(cd $srcdir; $valgrind $pcregrep -o "^01|^02|03" ./testdata/grepinput) >>testtry
skamonkey@3831
   384
echo "RC=$?" >>testtry
dvander@2762
   385
skamonkey@3831
   386
echo "---------------------------- Test 78 -----------------------------" >>testtry
skamonkey@3831
   387
(cd $srcdir; $valgrind $pcregrep --color=always "^01|^02|03" ./testdata/grepinput) >>testtry
skamonkey@3831
   388
echo "RC=$?" >>testtry
skamonkey@3831
   389
skamonkey@3831
   390
echo "---------------------------- Test 79 -----------------------------" >>testtry
skamonkey@3831
   391
(cd $srcdir; $valgrind $pcregrep -o --colour=always "^01|^02|03" ./testdata/grepinput) >>testtry
skamonkey@3831
   392
echo "RC=$?" >>testtry
skamonkey@3831
   393
skamonkey@3831
   394
echo "---------------------------- Test 80 -----------------------------" >>testtry
skamonkey@3831
   395
(cd $srcdir; $valgrind $pcregrep -o "\b01|\b02" ./testdata/grepinput) >>testtry
skamonkey@3831
   396
echo "RC=$?" >>testtry
skamonkey@3831
   397
skamonkey@3831
   398
echo "---------------------------- Test 81 -----------------------------" >>testtry
skamonkey@3831
   399
(cd $srcdir; $valgrind $pcregrep --color=always "\\b01|\\b02" ./testdata/grepinput) >>testtry
skamonkey@3831
   400
echo "RC=$?" >>testtry
skamonkey@3831
   401
skamonkey@3831
   402
echo "---------------------------- Test 82 -----------------------------" >>testtry
skamonkey@3831
   403
(cd $srcdir; $valgrind $pcregrep -o --colour=always "\\b01|\\b02" ./testdata/grepinput) >>testtry
skamonkey@3831
   404
echo "RC=$?" >>testtry
skamonkey@3831
   405
skamonkey@3831
   406
echo "---------------------------- Test 83 -----------------------------" >>testtry
skamonkey@3831
   407
(cd $srcdir; $valgrind $pcregrep --buffer-size=100 "^a" ./testdata/grepinput3) >>testtry 2>&1
skamonkey@3831
   408
echo "RC=$?" >>testtry
skamonkey@3831
   409
skamonkey@3831
   410
echo "---------------------------- Test 84 -----------------------------" >>testtry
skamonkey@3831
   411
echo testdata/grepinput3 >testtemp1
skamonkey@3831
   412
(cd $srcdir; $valgrind $pcregrep --file-list ./testdata/grepfilelist --file-list $builddir/testtemp1 "fox|complete|t7") >>testtry 2>&1
skamonkey@3831
   413
echo "RC=$?" >>testtry
skamonkey@3831
   414
skamonkey@3831
   415
echo "---------------------------- Test 85 -----------------------------" >>testtry
skamonkey@3831
   416
(cd $srcdir; $valgrind $pcregrep --file-list=./testdata/grepfilelist "dolor" ./testdata/grepinput3) >>testtry 2>&1
skamonkey@3831
   417
echo "RC=$?" >>testtry
skamonkey@3831
   418
skamonkey@3831
   419
echo "---------------------------- Test 86 -----------------------------" >>testtry
skamonkey@3831
   420
(cd $srcdir; $valgrind $pcregrep "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   421
echo "RC=$?" >>testtry
skamonkey@3831
   422
skamonkey@3831
   423
echo "---------------------------- Test 87 -----------------------------" >>testtry
skamonkey@3831
   424
(cd $srcdir; $valgrind $pcregrep "cat" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   425
echo "RC=$?" >>testtry
skamonkey@3831
   426
skamonkey@3831
   427
echo "---------------------------- Test 88 -----------------------------" >>testtry
skamonkey@3831
   428
(cd $srcdir; $valgrind $pcregrep -v "cat" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   429
echo "RC=$?" >>testtry
skamonkey@3831
   430
skamonkey@3831
   431
echo "---------------------------- Test 89 -----------------------------" >>testtry
skamonkey@3831
   432
(cd $srcdir; $valgrind $pcregrep -I "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   433
echo "RC=$?" >>testtry
skamonkey@3831
   434
skamonkey@3831
   435
echo "---------------------------- Test 90 -----------------------------" >>testtry
skamonkey@3831
   436
(cd $srcdir; $valgrind $pcregrep --binary-files=without-match "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   437
echo "RC=$?" >>testtry
skamonkey@3831
   438
skamonkey@3831
   439
echo "---------------------------- Test 91 -----------------------------" >>testtry
skamonkey@3831
   440
(cd $srcdir; $valgrind $pcregrep -a "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   441
echo "RC=$?" >>testtry
skamonkey@3831
   442
skamonkey@3831
   443
echo "---------------------------- Test 92 -----------------------------" >>testtry
skamonkey@3831
   444
(cd $srcdir; $valgrind $pcregrep --binary-files=text "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   445
echo "RC=$?" >>testtry
skamonkey@3831
   446
skamonkey@3831
   447
echo "---------------------------- Test 93 -----------------------------" >>testtry
skamonkey@3831
   448
(cd $srcdir; $valgrind $pcregrep --text "dog" ./testdata/grepbinary) >>testtry 2>&1
skamonkey@3831
   449
echo "RC=$?" >>testtry
skamonkey@3831
   450
skamonkey@3831
   451
echo "---------------------------- Test 94 -----------------------------" >>testtry
skamonkey@3831
   452
(cd $srcdir; $valgrind $pcregrep -L -r --include=grepinputx --include grepinput8 'fox' ./testdata/grepinput* | sort) >>testtry
skamonkey@3831
   453
echo "RC=$?" >>testtry
skamonkey@3831
   454
skamonkey@3831
   455
echo "---------------------------- Test 95 -----------------------------" >>testtry
skamonkey@3831
   456
(cd $srcdir; $valgrind $pcregrep --file-list ./testdata/grepfilelist --exclude grepinputv "fox|complete") >>testtry 2>&1
skamonkey@3831
   457
echo "RC=$?" >>testtry
skamonkey@3831
   458
skamonkey@3831
   459
echo "---------------------------- Test 96 -----------------------------" >>testtry
skamonkey@3831
   460
(cd $srcdir; $valgrind $pcregrep -L -r --include-dir=testdata --exclude '^(?!grepinput)' 'fox' ./test* | sort) >>testtry
skamonkey@3831
   461
echo "RC=$?" >>testtry
skamonkey@3831
   462
skamonkey@3831
   463
echo "---------------------------- Test 97 -----------------------------" >>testtry
skamonkey@3831
   464
echo "grepinput$" >testtemp1
skamonkey@3831
   465
echo "grepinput8" >>testtemp1
skamonkey@3831
   466
(cd $srcdir; $valgrind $pcregrep -L -r --include=grepinput --exclude-from $builddir/testtemp1 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtry
skamonkey@3831
   467
echo "RC=$?" >>testtry
skamonkey@3831
   468
skamonkey@3831
   469
echo "---------------------------- Test 98 -----------------------------" >>testtry
skamonkey@3831
   470
echo "grepinput$" >testtemp1
skamonkey@3831
   471
echo "grepinput8" >>testtemp1
skamonkey@3831
   472
(cd $srcdir; $valgrind $pcregrep -L -r --exclude=grepinput3 --include=grepinput --exclude-from $builddir/testtemp1 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtry
skamonkey@3831
   473
echo "RC=$?" >>testtry
skamonkey@3831
   474
skamonkey@3831
   475
echo "---------------------------- Test 99 -----------------------------" >>testtry
skamonkey@3831
   476
echo "grepinput$" >testtemp1
skamonkey@3831
   477
echo "grepinput8" >testtemp2
skamonkey@3831
   478
(cd $srcdir; $valgrind $pcregrep -L -r --include grepinput --exclude-from $builddir/testtemp1 --exclude-from=$builddir/testtemp2 --exclude-dir='^\.' 'fox' ./testdata | sort) >>testtry
skamonkey@3831
   479
echo "RC=$?" >>testtry
skamonkey@3831
   480
skamonkey@3831
   481
echo "---------------------------- Test 100 ------------------------------" >>testtry
skamonkey@3831
   482
(cd $srcdir; $valgrind $pcregrep -Ho2 --only-matching=1 -o3 '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtry
skamonkey@3831
   483
echo "RC=$?" >>testtry
skamonkey@3831
   484
skamonkey@3831
   485
echo "---------------------------- Test 101 ------------------------------" >>testtry
skamonkey@3831
   486
(cd $srcdir; $valgrind $pcregrep -o3 -Ho2 -o12 --only-matching=1 -o3 --colour=always --om-separator='|' '(\w+) binary (\w+)(\.)?' ./testdata/grepinput) >>testtry
skamonkey@3831
   487
echo "RC=$?" >>testtry
skamonkey@3831
   488
dvander@2762
   489
dvander@2762
   490
# Now compare the results.
dvander@2762
   491
dvander@2762
   492
$cf $srcdir/testdata/grepoutput testtry
dvander@2762
   493
if [ $? != 0 ] ; then exit 1; fi
dvander@2762
   494
dvander@2762
   495
dvander@2762
   496
# These tests require UTF-8 support
dvander@2762
   497
dvander@2762
   498
if [ $utf8 -ne 0 ] ; then
dvander@2762
   499
  echo "Testing pcregrep UTF-8 features"
dvander@2762
   500
dvander@2762
   501
  echo "---------------------------- Test U1 ------------------------------" >testtry
dvander@2762
   502
  (cd $srcdir; $valgrind $pcregrep -n -u --newline=any "^X" ./testdata/grepinput8) >>testtry
skamonkey@3831
   503
  echo "RC=$?" >>testtry
dvander@2762
   504
dvander@2762
   505
  echo "---------------------------- Test U2 ------------------------------" >>testtry
dvander@2762
   506
  (cd $srcdir; $valgrind $pcregrep -n -u -C 3 --newline=any "Match" ./testdata/grepinput8) >>testtry
skamonkey@3831
   507
  echo "RC=$?" >>testtry
dvander@2762
   508
dvander@2762
   509
  $cf $srcdir/testdata/grepoutput8 testtry
dvander@2762
   510
  if [ $? != 0 ] ; then exit 1; fi
dvander@2762
   511
dvander@2762
   512
else
dvander@2762
   513
  echo "Skipping pcregrep UTF-8 tests: no UTF-8 support in PCRE library"
dvander@2762
   514
fi
dvander@2762
   515
dvander@2762
   516
dvander@2762
   517
# We go to some contortions to try to ensure that the tests for the various
dvander@2762
   518
# newline settings will work in environments where the normal newline sequence
dvander@2762
   519
# is not \n. Do not use exported files, whose line endings might be changed.
dvander@2762
   520
# Instead, create an input file using printf so that its contents are exactly
dvander@2762
   521
# what we want. Note the messy fudge to get printf to write a string that
skamonkey@3831
   522
# starts with a hyphen. These tests are run in the build directory.
dvander@2762
   523
dvander@2762
   524
echo "Testing pcregrep newline settings"
dvander@2762
   525
printf "abc\rdef\r\nghi\njkl" >testNinput
dvander@2762
   526
dvander@2762
   527
printf "%c--------------------------- Test N1 ------------------------------\r\n" - >testtry
dvander@2762
   528
$valgrind $pcregrep -n -N CR "^(abc|def|ghi|jkl)" testNinput >>testtry
dvander@2762
   529
dvander@2762
   530
printf "%c--------------------------- Test N2 ------------------------------\r\n" - >>testtry
dvander@2762
   531
$valgrind $pcregrep -n --newline=crlf "^(abc|def|ghi|jkl)" testNinput >>testtry
dvander@2762
   532
dvander@2762
   533
printf "%c--------------------------- Test N3 ------------------------------\r\n" - >>testtry
dvander@2762
   534
pattern=`printf 'def\rjkl'`
dvander@2762
   535
$valgrind $pcregrep -n --newline=cr -F "$pattern" testNinput >>testtry
dvander@2762
   536
dvander@2762
   537
printf "%c--------------------------- Test N4 ------------------------------\r\n" - >>testtry
skamonkey@3831
   538
$valgrind $pcregrep -n --newline=crlf -F -f $srcdir/testdata/greppatN4 testNinput >>testtry
dvander@2762
   539
dvander@2762
   540
printf "%c--------------------------- Test N5 ------------------------------\r\n" - >>testtry
dvander@2762
   541
$valgrind $pcregrep -n --newline=any "^(abc|def|ghi|jkl)" testNinput >>testtry
dvander@2762
   542
dvander@2762
   543
printf "%c--------------------------- Test N6 ------------------------------\r\n" - >>testtry
dvander@2762
   544
$valgrind $pcregrep -n --newline=anycrlf "^(abc|def|ghi|jkl)" testNinput >>testtry
dvander@2762
   545
dvander@2762
   546
$cf $srcdir/testdata/grepoutputN testtry
dvander@2762
   547
if [ $? != 0 ] ; then exit 1; fi
dvander@2762
   548
dvander@2762
   549
exit 0
dvander@2762
   550
dvander@2762
   551
# End