xref: /illumos-gate/usr/src/test/util-tests/tests/grep_xpg4/grep_test.ksh (revision 8c69cc8fbe729fa7b091e901c4b50508ccc6bb33)
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
18XGREP=${XGREP:=/usr/xpg4/bin/grep}
19FILEDIR=$MY_TESTS/tests/files
20
21fail() {
22	echo $1
23	exit -1
24}
25
26FLAGLIST="
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
90echo "$FLAGLIST" > /tmp/flags
91
92cd $FILEDIR
93
94i=0
95while 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++))
107done < /tmp/flags
108