|
Packit |
709fb3 |
#! /bin/sh
|
|
Packit |
709fb3 |
# Test that the empty pattern matches everything.
|
|
Packit |
709fb3 |
# Some of these tests failed in grep 2.18.
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
. "${srcdir=.}/init.sh"; path_prepend_ ../src
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
fail=0
|
|
Packit |
709fb3 |
printf 'abc\n' >in || framework_failure_
|
|
Packit |
709fb3 |
nl='
|
|
Packit |
709fb3 |
'
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
for opt in '' -E -F; do
|
|
Packit |
709fb3 |
case $opt in
|
|
Packit |
709fb3 |
'') prefix='\(\)\1';;
|
|
Packit |
709fb3 |
-E) prefix='()\1';;
|
|
Packit |
709fb3 |
-F) prefix="foo$nl";;
|
|
Packit |
709fb3 |
esac
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
for pattern in "" "$nl" "---$nl" "${nl}foo"; do
|
|
Packit |
709fb3 |
for pat in "$pattern" "$prefix$pattern"; do
|
|
Packit |
709fb3 |
grep $opt -e "$pat" in >out || fail=1
|
|
Packit |
709fb3 |
compare in out || fail=1
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
printf -- '%s\n' "$pat" >pat || framework_failure_
|
|
Packit |
709fb3 |
grep $opt -f pat in >out || fail=1
|
|
Packit |
709fb3 |
compare in out || fail=1
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
# Check that pattern files that end in non-newlines
|
|
Packit |
709fb3 |
# are treated as if a newline were appended.
|
|
Packit |
709fb3 |
case $pattern in
|
|
Packit |
709fb3 |
'' | *"$nl") ;;
|
|
Packit |
709fb3 |
*)
|
|
Packit |
709fb3 |
printf -- '%s' "$pat" >pat || framework_failure_
|
|
Packit |
709fb3 |
grep $opt -f pat in >out || fail=1
|
|
Packit |
709fb3 |
compare in out || fail=1;;
|
|
Packit |
709fb3 |
esac
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
done
|
|
Packit |
709fb3 |
|
|
Packit |
709fb3 |
Exit $fail
|