]> granicus.if.org Git - git/commitdiff
t8005: avoid grep on non-ASCII data
authorJohn Keeping <john@keeping.me.uk>
Sun, 21 Feb 2016 17:32:21 +0000 (17:32 +0000)
committerJunio C Hamano <gitster@pobox.com>
Tue, 23 Feb 2016 23:00:12 +0000 (15:00 -0800)
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>
t/t8005-blame-i18n.sh

index 847d098c094566aafd8dd05fd3962e28f113360e..75da219ed1be95c8279b363816d46bc3e2686fc3 100755 (executable)
@@ -33,11 +33,15 @@ author $SJIS_NAME
 summary $SJIS_MSG
 EOF
 
+filter_author_summary () {
+       sed -n -e '/^author /p' -e '/^summary /p' "$@"
+}
+
 test_expect_success !MINGW \
        'blame respects i18n.commitencoding' '
-       git blame --incremental file | \
-               egrep "^(author|summary) " > actual &&
-       test_cmp actual expected
+       git blame --incremental file >output &&
+       filter_author_summary output >actual &&
+       test_cmp expected actual
 '
 
 cat >expected <<EOF
@@ -52,9 +56,9 @@ EOF
 test_expect_success !MINGW \
        'blame respects i18n.logoutputencoding' '
        git config i18n.logoutputencoding eucJP &&
-       git blame --incremental file | \
-               egrep "^(author|summary) " > actual &&
-       test_cmp actual expected
+       git blame --incremental file >output &&
+       filter_author_summary output >actual &&
+       test_cmp expected actual
 '
 
 cat >expected <<EOF
@@ -68,9 +72,9 @@ EOF
 
 test_expect_success !MINGW \
        'blame respects --encoding=UTF-8' '
-       git blame --incremental --encoding=UTF-8 file | \
-               egrep "^(author|summary) " > actual &&
-       test_cmp actual expected
+       git blame --incremental --encoding=UTF-8 file >output &&
+       filter_author_summary output >actual &&
+       test_cmp expected actual
 '
 
 cat >expected <<EOF
@@ -84,9 +88,9 @@ EOF
 
 test_expect_success !MINGW \
        'blame respects --encoding=none' '
-       git blame --incremental --encoding=none file | \
-               egrep "^(author|summary) " > actual &&
-       test_cmp actual expected
+       git blame --incremental --encoding=none file >output &&
+       filter_author_summary output >actual &&
+       test_cmp expected actual
 '
 
 test_done