source: trunk/src/grep/tests/include-exclude@ 3610

Last change on this file since 3610 was 3529, checked in by bird, 4 years ago

Imported grep 3.7 from grep-3.7.tar.gz (sha256: c22b0cf2d4f6bbe599c902387e8058990e1eee99aef333a203829e5fd3dbb342), applying minimal auto-props.

  • Property svn:executable set to *
File size: 2.4 KB
Line 
1#!/bin/sh
2# Use of any --include or --exclude* option would segfault in 2.6 and 2.6.1
3. "${srcdir=.}/init.sh"; path_prepend_ ../src
4
5mkdir -p x/dir || framework_failure_
6echo aaa > x/a || framework_failure_
7echo bbb > x/b || framework_failure_
8echo ddd > x/dir/d || framework_failure_
9
10printf '%s\n' x/b:bbb x/dir/d:ddd > exp-not-a || framework_failure_
11printf '%s\n' x/dir/d:ddd > exp-not-ab || framework_failure_
12printf '%s\n' x/a:aaa x/b:bbb > exp-not-d || framework_failure_
13printf '%s\n' x/a:aaa x/b:bbb > exp-not-dir || framework_failure_
14printf '%s\n' x/a:aaa > exp-a || framework_failure_
15printf '%s\n' a:aaa > exp-aa || framework_failure_
16printf '%s\n' aaa > exp-aaa || framework_failure_
17printf '%s\n' ./x/a ./x/b ./x/dir/d | sort > exp-dotnames || framework_failure_
18
19grep -r --exclude='a*' . x > out || fail=1
20sort out > k && mv k out
21compare exp-not-a out || fail=1
22
23grep -r --exclude='Rumpelstiltskin' --include='a*' --exclude='a*' . x > out ||
24 fail=1
25sort out > k && mv k out
26compare exp-not-a out || fail=1
27
28grep -r --exclude='[ab]' . x > out || fail=1
29sort out > k && mv k out
30compare exp-not-ab out || fail=1
31
32grep -r --exclude='*d' . x > out || fail=1
33sort out > k && mv k out
34compare exp-not-d out || fail=1
35
36grep -r --exclude-dir=dir . x > out || fail=1
37sort out > k && mv k out
38compare exp-not-dir out || fail=1
39
40grep -r --exclude-dir=dir/ . x > out || fail=1
41sort out > k && mv k out
42compare exp-not-dir out || fail=1
43
44# Test with a non-glob.
45grep -r --include=a . x > out || fail=1
46# no need to sort
47compare exp-a out || fail=1
48
49# Also test --include with a "glob".
50grep -r --include='a*' . x > out || fail=1
51# no need to sort
52compare exp-a out || fail=1
53
54# --include (without --recursive) uses different code
55grep --directories=skip --include=x/a --exclude-dir=dir '^aaa$' x/* > out \
56 || fail=1
57compare exp-a out || fail=1
58
59(cd x && grep -r --exclude-dir=. '^aaa$') > out || fail=1
60compare exp-aa out || fail=1
61
62grep --exclude=- '^aaa$' - < x/a > out || fail=1
63compare exp-aaa out || fail=1
64
65for exclude in 'x' 'x*'; do
66 grep -rl --exclude-dir="$exclude" . x > out
67 test $? -eq 1 || fail=1
68 compare /dev/null out || fail=1
69done
70
71for exclude in 'x' 'x*' './x' './x*'; do
72 grep -rl --exclude-dir="$exclude" . ./x | sort > out || fail=1
73 compare /dev/null out || fail=1
74done
75
76Exit $fail
Note: See TracBrowser for help on using the repository browser.