git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 1/2] t8005: avoid grep on non-ASCII data

From
John Keeping <john@keeping.me.uk>
Date
Feb 24, 2016, 10:24 UTC
Message-ID
<20160224102411.GO1766@serenity.lan>
In-Reply-To
<xmqqegc3xc88.fsf@gitster.mtv.corp.google.com>
On Tue, Feb 23, 2016 at 03:01:43PM -0800, Junio C Hamano wrote:
Show 13 quoted lines
> John Keeping <john@keeping.me.uk> writes:
> 
> > My original sed version was:
> >
> > 	sed -ne "/^author /p" -e "/^summary /p"
> >
> > which I think will work on all platforms (we already use it in
> > t0000-basic.sh) but then I decided to be too clever :-(
> >
> > I still think sed is simpler than introducing a new function to wrap a
> > perl script.
> 
> Let's do this, before everybody forgets what we discussed.
Thanks, this looks good to me.
Show 87 quoted lines
> -- >8 --
> From: John Keeping <john@keeping.me.uk>
> Date: Sun, 21 Feb 2016 17:32:21 +0000
> Subject: [PATCH] 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>
> ---
>  t/t8005-blame-i18n.sh | 28 ++++++++++++++++------------
>  1 file changed, 16 insertions(+), 12 deletions(-)
> 
> diff --git a/t/t8005-blame-i18n.sh b/t/t8005-blame-i18n.sh
> index 847d098..75da219 100755
> --- a/t/t8005-blame-i18n.sh
> +++ b/t/t8005-blame-i18n.sh
> @@ -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
> -- 
> 2.7.2-532-g79873b4
Previous: Junio C HamanoNext: Junio C Hamano
Message 19 of 27 in “Test failures with GNU grep 2.23”
  1. John KeepingFeb 7, 2016
  2. Jeff KingFeb 19, 2016
  3. Eric SunshineFeb 19, 2016
  4. Junio C HamanoFeb 19, 2016
  5. Jeff KingFeb 19, 2016
  6. John KeepingFeb 19, 2016
  7. Jeff KingFeb 19, 2016
  8. 0/2 Fix test failures with GNU grep 2.23John Keeping, Feb 21, 2016
  9. 1/2 t8005: avoid grep on non-ASCII dataJohn Keeping, Feb 21, 2016
  10. Eric SunshineFeb 21, 2016
  11. Jeff KingFeb 21, 2016
  12. Eric SunshineFeb 21, 2016
  13. Jeff KingFeb 21, 2016
  14. John KeepingFeb 21, 2016
  15. Eric SunshineFeb 21, 2016
  16. Jeff KingFeb 22, 2016
  17. Junio C HamanoFeb 22, 2016
  18. Junio C HamanoFeb 23, 2016
  19. John KeepingFeb 24, 2016
  20. Junio C HamanoFeb 21, 2016
  21. Eric SunshineFeb 21, 2016
  22. 2/2 t9200: avoid grep on non-ASCII dataJohn Keeping, Feb 21, 2016
  23. Eric SunshineFeb 21, 2016
  24. John KeepingFeb 21, 2016
  25. Eric SunshineFeb 22, 2016
  26. Jeff KingFeb 22, 2016
  27. Junio C HamanoFeb 23, 2016

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.