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