Subject: Re: [PATCH] t4014: strengthen search patterns

From: Junio C Hamano <[email-masked]>
Date: Wed, 20 Sep 2017 11:50:07 +0900

Kaartic Sivaraam <[email-masked]> writes:

> The regex patterns for some failing test cases were a bit loose
> giving way for a few incorrect outputs being accepted as correct
> outputs.

If these were part of scripted Porcelain that needs to take any
end-user input, then having '.' that are meant to match only a dot
is a bug, but I personally do not think it is worth the patch noise
to quote them, when we _know_ (after all, we are in control of the
data we use for these tests) there is no other lines that would
match these patterns.

> To avoid such incorrect outputs from being flagged as correct ones
> use fixed string matches when possible and strengthen regex when
> it's not.
>
> Signed-off-by: Kaartic Sivaraam <[email-masked]>
> ---
>  t/t4014-format-patch.sh | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/t/t4014-format-patch.sh b/t/t4014-format-patch.sh
> index 482112ca339f0..7dff7996c9e1f 100755
> --- a/t/t4014-format-patch.sh
> +++ b/t/t4014-format-patch.sh
> @@ -163,7 +163,7 @@ test_expect_failure 'additional command line cc (rfc822)' '
>  	git config --replace-all format.headers "Cc: R E Cipient <[email-masked]>" &&
>  	git format-patch --cc="S. E. Cipient <[email-masked]>" --stdout master..side | sed -e "/^\$/q" >patch5 &&
>  	grep "^Cc: R E Cipient <[email-masked]>,\$" patch5 &&
> -	grep "^ *\"S. E. Cipient\" <[email-masked]>\$" patch5
> +	grep "^ *\"S\. E\. Cipient\" <scipient@example\.com>\$" patch5
>  '
>  
>  test_expect_success 'command line headers' '
> @@ -191,13 +191,13 @@ test_expect_success 'command line To: header (ascii)' '
>  test_expect_failure 'command line To: header (rfc822)' '
>  
>  	git format-patch --to="R. E. Cipient <[email-masked]>" --stdout master..side | sed -e "/^\$/q" >patch8 &&
> -	grep "^To: \"R. E. Cipient\" <[email-masked]>\$" patch8
> +	grep -F "To: \"R. E. Cipient\" <[email-masked]>" patch8
>  '
>  
>  test_expect_failure 'command line To: header (rfc2047)' '
>  
>  	git format-patch --to="R Ä Cipient <[email-masked]>" --stdout master..side | sed -e "/^\$/q" >patch8 &&
> -	grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <[email-masked]>\$" patch8
> +	grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example\.com>\$" patch8
>  '
>  
>  test_expect_success 'configuration To: header (ascii)' '
> @@ -211,14 +211,14 @@ test_expect_failure 'configuration To: header (rfc822)' '
>  
>  	git config format.to "R. E. Cipient <[email-masked]>" &&
>  	git format-patch --stdout master..side | sed -e "/^\$/q" >patch9 &&
> -	grep "^To: \"R. E. Cipient\" <[email-masked]>\$" patch9
> +	grep -F "To: \"R. E. Cipient\" <[email-masked]>" patch9
>  '
>  
>  test_expect_failure 'configuration To: header (rfc2047)' '
>  
>  	git config format.to "R Ä Cipient <[email-masked]>" &&
>  	git format-patch --stdout master..side | sed -e "/^\$/q" >patch9 &&
> -	grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <[email-masked]>\$" patch9
> +	grep "^To: =?UTF-8?q?R=20=C3=84=20Cipient?= <rcipient@example\.com>\$" patch9
>  '
>  
>  # check_patch <patch>: Verify that <patch> looks like a half-sane
>
> --
> https://github.com/git/git/pull/406