Blame tests/prefix-of-multibyte
|
Packit |
709fb3 |
#!/bin/sh
|
|
Packit |
709fb3 |
# This would mistakenly print a line prior to grep-2.18.
|
|
Packit |
709fb3 |
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
require_en_utf8_locale_
|
|
Packit |
709fb3 |
require_compiled_in_MB_support
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
encode() { echo "$1" | tr ABC '\357\274\241'; }
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
encode ABC >exp1
|
|
Packit |
709fb3 |
encode aABC >exp2
|
|
Packit |
709fb3 |
encode ABCABC >exp3
|
|
Packit |
709fb3 |
encode _____________________ABCABC___ >exp4
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
fail=0
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
for LOC in en_US.UTF-8 $LOCALE_FR_UTF8; do
|
|
Packit |
709fb3 |
for pat in A aA BCA; do
|
|
Packit |
709fb3 |
for file in exp1 exp2 exp3 exp4; do
|
|
Packit |
709fb3 |
for type in regex dfa fgrep; do
|
|
Packit |
709fb3 |
case $type in
|
|
Packit |
709fb3 |
dfa) opt= prefix= ;;
|
|
Packit |
709fb3 |
fgrep) opt=-F prefix= ;;
|
|
Packit |
709fb3 |
regex) opt= prefix='\(\)\1' ;;
|
|
Packit |
709fb3 |
esac
|
|
Packit |
709fb3 |
pattern=$prefix$(encode $pat)
|
|
Packit |
709fb3 |
out=out-$type-$LOC
|
|
Packit |
709fb3 |
LC_ALL=$LOC grep $opt "$pattern" $file >$out
|
|
Packit |
709fb3 |
status=$?
|
|
Packit |
709fb3 |
echo $status >$out.status
|
|
Packit |
709fb3 |
if test $status -eq 0; then
|
|
Packit |
709fb3 |
compare $file $out
|
|
Packit |
709fb3 |
elif test $status -eq 1; then
|
|
Packit |
709fb3 |
compare_dev_null_ /dev/null $out
|
|
Packit |
709fb3 |
else
|
|
Packit |
709fb3 |
test $status -eq 2
|
|
Packit |
709fb3 |
fi || fail=1
|
|
Packit |
709fb3 |
compare out-regex-$LOC.status $out.status || fail=1
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
Exit $fail
|