Test failures with GNU grep 2.23
flat view
From: John Keeping <hidden>
Date: 2016-06-15 23:08:09
Subsystem:
the rest · Maintainer:
Linus Torvalds
It seems that binary file detection has changed in GNU grep 2.23 as a
result of commit 40ed879 (grep: fix bug with with invalid unibyte
sequence).
This causes a couple of test failures in t8005 and t9200 (the t9200 case
is less obvious so I'm only including t8005 here):
-- >8 --
$ ./t8005-blame-i18n.sh -v -i
[snip]
expecting success:
git blame --incremental file | \
egrep "^(author|summary) " > actual &&
test_cmp actual expected
--- actual 2016-02-07 16:14:55.372510307 +0000
+++ expected 2016-02-07 16:14:55.359510341 +0000@@ -1 +1,6 @@ -Binary file (standard input) matches +author �R�c ���Y +summary �u���[���̃e�X�g�ł��B +author �R�c ���Y +summary �u���[���̃e�X�g�ł��B +author �R�c ���Y +summary �u���[���̃e�X�g�ł��B
not ok 2 - blame respects i18n.commitencoding
#
# git blame --incremental file | \
# egrep "^(author|summary) " > actual &&
# test_cmp actual expected
#
-- 8< --
The following patch fixes the tests for me, but I wonder if "-a" is
supported on all target platforms (it's not in POSIX, which specifies
that the "input files shall be text files") or whether we should do
something more comprehensive to provide sane_{e,f,}grep which guarantee
to treat input as text.
I also tried setting POSIXLY_CORRECT but that doesn't affect the
text/binary decision.
-- >8 --diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh
index 847d098..3b6e697 100755
--- a/t/t8005-blame-i18n.sh
+++ b/t/t8005-blame-i18n.sh@@ -36,7 +36,7 @@ EOF test_expect_success !MINGW \ 'blame respects i18n.commitencoding' ' git blame --incremental file | \ - egrep "^(author|summary) " > actual && + egrep -a "^(author|summary) " > actual && test_cmp actual expected '
@@ -53,7 +53,7 @@ test_expect_success !MINGW \ 'blame respects i18n.logoutputencoding' ' git config i18n.logoutputencoding eucJP && git blame --incremental file | \ - egrep "^(author|summary) " > actual && + egrep -a "^(author|summary) " > actual && test_cmp actual expected '
@@ -69,7 +69,7 @@ EOF test_expect_success !MINGW \ 'blame respects --encoding=UTF-8' ' git blame --incremental --encoding=UTF-8 file | \ - egrep "^(author|summary) " > actual && + egrep -a "^(author|summary) " > actual && test_cmp actual expected '
@@ -85,7 +85,7 @@ EOF test_expect_success !MINGW \ 'blame respects --encoding=none' ' git blame --incremental --encoding=none file | \ - egrep "^(author|summary) " > actual && + egrep -a "^(author|summary) " > actual && test_cmp actual expected '
diff --git a/t/t9200-git-cvsexportcommit.sh b/t/t9200-git-cvsexportcommit.sh
index 5cfb9cf..f05578a 100755
--- a/t/t9200-git-cvsexportcommit.sh
+++ b/t/t9200-git-cvsexportcommit.sh@@ -35,7 +35,7 @@ exit 1 check_entries () { # $1 == directory, $2 == expected - grep '^/' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual + grep -a '^/' "$1/CVS/Entries" | sort | cut -d/ -f2,3,5 >actual if test -z "$2" then >expected