grep/tests/encoding-error
Jim Meyering 1569ee170b tests: use "returns_" rather than explicit comparison with "$?"
* tests/sjis-mb (encode): Rearrange to emit desired input into
a file, rather than piping directly into grep.  That permits
the use of returns_ 1 to verify timeout's exit status.
* tests/euc-mb: Use "returns_ 1" rather than testing $? = 1
* tests/char-class-multibyte: Likewise.
* tests/dfa-heap-overrun: Likewise.
* tests/encoding-error: Likewise.
* tests/fedora: Likewise.
* tests/grep-dev-null: Likewise.
* tests/init.cfg (envvar_check_fail): Likewise.
* tests/kwset-abuse: Likewise.
* tests/mb-non-UTF8-overrun: Likewise.
* tests/multibyte-white-space: Likewise.
* tests/pcre-infloop: Likewise.
* tests/surrogate-pair: Likewise.
* tests/warn-char-classes: Likewise.
Do the same for other values:
* tests/backref-multibyte-slow: Likewise.
* tests/euc-mb: Likewise.
* tests/pcre-abort: Likewise.
* tests/pcre-jitstack: Likewise.
* tests/repetition-overflow: Likewise.
* tests/reversed-range-endpoints: Likewise.
* tests/warn-char-classes: Likewise.
2016-11-14 19:12:22 -08:00

45 lines
1.0 KiB
Bash
Executable File

#! /bin/sh
# Test grep's behavior on encoding errors.
#
# Copyright 2015-2016 Free Software Foundation, Inc.
#
# Copying and distribution of this file, with or without modification,
# are permitted in any medium without royalty provided the copyright
# notice and this notice are preserved.
. "${srcdir=.}/init.sh"; path_prepend_ ../src
require_en_utf8_locale_
LC_ALL=en_US.UTF-8
export LC_ALL
printf 'Alfred Jones\n' > a || framework_failure_
printf 'John Smith\n' >j || framework_failure_
printf 'Pedro P\351rez\n' >p || framework_failure_
cat a p j >in || framework_failure_
fail=0
grep '^A' in >out || fail=1
compare a out || fail=1
grep '^P' in >out || fail=1
printf 'Binary file in matches\n' >exp || framework_failure_
compare exp out || fail=1
grep '^J' in >out || fail=1
compare j out || fail=1
returns_ 1 grep '^X' in >out || fail=1
compare /dev/null out || fail=1
grep . in >out || fail=1
(cat a j && printf 'Binary file in matches\n') >exp || framework_failure_
compare exp out || fail=1
grep -a . in >out || fail=1
compare in out
Exit $fail