blob: 2228a22ba472286bddeddf809ffd42a2d2d86d60 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
#!/bin/sh
# This would mistakenly print a line prior to grep-2.18.
. "${srcdir=.}/init.sh"; path_prepend_ ../src
require_en_utf8_locale_
require_compiled_in_MB_support
encode() { echo "$1" | tr ABC '\357\274\241'; }
encode ABC >exp1
encode aABC >exp2
encode ABCABC >exp3
encode _____________________ABCABC___ >exp4
fail=0
for LOC in en_US.UTF-8 $LOCALE_FR_UTF8; do
for pat in A aA BCA; do
for file in exp1 exp2 exp3 exp4; do
for type in regex dfa fgrep; do
case $type in
dfa) opt= prefix= ;;
fgrep) opt=-F prefix= ;;
regex) opt= prefix='\(\)\1' ;;
esac
pattern=$prefix$(encode $pat)
out=out-$type-$LOC
LC_ALL=$LOC grep $opt "$pattern" $file >$out
status=$?
echo $status >$out.status
if test $status -eq 0; then
compare $file $out
elif test $status -eq 1; then
compare_dev_null_ /dev/null $out
else
test $status -eq 2
fi || fail=1
compare out-regex-$LOC.status $out.status || fail=1
done
done
done
done
Exit $fail
|