1 #! /usr/bin/ksh
2 #
3 #
4 # This file and its contents are supplied under the terms of the
5 # Common Development and Distribution License ("CDDL"), version 1.0.
6 # You may only use this file in accordance with the terms of version
7 # 1.0 of the CDDL.
8 #
9 # A full copy of the text of the CDDL should have accompanied this
10 # source. A copy of the CDDL is also available via the Internet at
11 # http://www.illumos.org/license/CDDL.
12 #
13
14 #
15 # Copyright 2014 Nexenta Systems, Inc. All rights reserved.
16 #
17
18 XGREP=${XGREP:=/usr/xpg4/bin/grep}
19 FILEDIR=$MY_TESTS/tests/files
20
21 fail() {
22 echo $1
23 exit -1
24 }
25
26 FLAGLIST="
27 -n
28 -c
29 -q
30 -v
31 -nv
32 -vc
33 -A 5
34 -nA 5
35 -cA 5
36 -qA 5
37 -vA 5
38 -nvA 5
39 -vcA 5
40 -B 5
41 -nB 5
42 -cB 5
43 -qB 5
44 -vB 5
45 -nvB 5
46 -vcB 5
47 -C 5
48 -nC 5
49 -cC 5
50 -qC 5
51 -vC 5
52 -nvC 5
53 -vcC 5
54 -B 5 -A 2
55 -nB 5 -A 2
56 -cB 5 -A 2
57 -qB 5 -A 2
58 -vB 5 -A 2
59 -nvB 5 -A 2
60 -vcB 5 -A 2
61 -B 5 -A 2 -C 5
62 -nB 5 -A 2 -C 5
63 -cB 5 -A 2 -C 5
64 -qB 5 -A 2 -C 5
65 -vB 5 -A 2 -C 5
66 -nvB 5 -A 2 -C 5
67 -vcB 5 -A 2 -C 5
68 -5
69 -n -5
70 -c -5
71 -q -5
72 -v -5
73 -nv -5
74 -vc -5
75 -50000
76 -n -50000
77 -c -50000
78 -q -50000
79 -v -50000
80 -nv -50000
81 -vc -50000
82 -C 5 -B 4 -A 2
83 -nC 5 -B 4 -A 2
84 -cC 5 -B 4 -A 2
85 -qC 5 -B 4 -A 2
86 -vC 5 -B 4 -A 2
87 -nvC 5 -B 4 -A 2
88 -vcC 5 -B 4 -A 2"
89
90 echo "$FLAGLIST" > /tmp/flags
91
92 cd $FILEDIR
93
94 i=0
95 while read flags; do
96 print -n "grep $flags: "
97 $XGREP $flags a test0 test1 test2 \
98 test3 test4 test5 test6 \
99 test7 > out
100 if [[ $? -ne 0 ]]; then
101 fail "failed on exit"
102 elif [ -n "$(diff out gout$i)" ]; then
103 fail "output is different"
104 fi
105 echo "passed"
106 ((i++))
107 done < /tmp/flags