t8005: avoid grep on non-ASCII data

GNU grep 2.23 detects the input used in this test as binary data so it
does not work for extracting lines from a file.  We could add the "-a"
option to force grep to treat the input as text, but not all
implementations support that.  Instead, use sed to extract the desired
lines since it will always treat its input as text.

While touching these lines, modernize the test style to avoid hiding the
exit status of "git blame" and remove a space following a redirection
operator.  Also swap the order of the expected and actual output
files given to test_cmp; we compare expect and actual to show how
actual output differs from what is expected.

Signed-off-by: John Keeping <john@keeping.me.uk>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
John Keeping 2016-02-21 17:32:21 +00:00 committed by Junio C Hamano
parent a2558fb8e1
commit 0be43dedbc
1 changed files with 16 additions and 12 deletions

View File

@ -33,11 +33,15 @@ author $SJIS_NAME
summary $SJIS_MSG summary $SJIS_MSG
EOF EOF


filter_author_summary () {
sed -n -e '/^author /p' -e '/^summary /p' "$@"
}

test_expect_success !MINGW \ test_expect_success !MINGW \
'blame respects i18n.commitencoding' ' 'blame respects i18n.commitencoding' '
git blame --incremental file | \ git blame --incremental file >output &&
egrep "^(author|summary) " > actual && filter_author_summary output >actual &&
test_cmp actual expected test_cmp expected actual
' '


cat >expected <<EOF cat >expected <<EOF
@ -52,9 +56,9 @@ EOF
test_expect_success !MINGW \ test_expect_success !MINGW \
'blame respects i18n.logoutputencoding' ' 'blame respects i18n.logoutputencoding' '
git config i18n.logoutputencoding eucJP && git config i18n.logoutputencoding eucJP &&
git blame --incremental file | \ git blame --incremental file >output &&
egrep "^(author|summary) " > actual && filter_author_summary output >actual &&
test_cmp actual expected test_cmp expected actual
' '


cat >expected <<EOF cat >expected <<EOF
@ -68,9 +72,9 @@ EOF


test_expect_success !MINGW \ test_expect_success !MINGW \
'blame respects --encoding=UTF-8' ' 'blame respects --encoding=UTF-8' '
git blame --incremental --encoding=UTF-8 file | \ git blame --incremental --encoding=UTF-8 file >output &&
egrep "^(author|summary) " > actual && filter_author_summary output >actual &&
test_cmp actual expected test_cmp expected actual
' '


cat >expected <<EOF cat >expected <<EOF
@ -84,9 +88,9 @@ EOF


test_expect_success !MINGW \ test_expect_success !MINGW \
'blame respects --encoding=none' ' 'blame respects --encoding=none' '
git blame --incremental --encoding=none file | \ git blame --incremental --encoding=none file >output &&
egrep "^(author|summary) " > actual && filter_author_summary output >actual &&
test_cmp actual expected test_cmp expected actual
' '


test_done test_done