Blame tests/invalid-multibyte-infloop

Packit 709fb3
#!/bin/sh
Packit 709fb3
# Ensure that we don't trigger a grep -F infloop.
Packit 709fb3
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
require_timeout_
Packit 709fb3
Packit 709fb3
encode() { echo "$1" | tr A '\202'; }
Packit 709fb3
Packit 709fb3
encode AA > input
Packit 709fb3
Packit 709fb3
fail=0
Packit 709fb3
Packit 709fb3
# Before 2.15, this would infloop.
Packit 709fb3
LC_ALL=en_US.UTF-8 timeout 10 grep -aF $(encode A) input > out
Packit 709fb3
status=$?
Packit 709fb3
if test $status -eq 0; then
Packit 709fb3
  compare input 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
Packit 709fb3
echo 'Binary file input matches' >binary-file-matches
Packit 709fb3
Packit 709fb3
LC_ALL=en_US.UTF-8 timeout 10 grep -F $(encode A) input > out
Packit 709fb3
status=$?
Packit 709fb3
if test $status -eq 0; then
Packit 709fb3
  compare binary-file-matches 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
Packit 709fb3
Exit $fail