Re: [PATCH v2 3/4] t4203: test mailmap functionality directly rather than indirectly

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Eric Sunshine <sunshine@xxxxxxxxxxxxxx> writes:

> With the introduction of check-mailmap, it is now possible to check
> .mailmap functionality directly rather than indirectly as a side-effect
> of other commands (such as git-shortlog), therefore, do so.

Does this patch mean that we will now ignore future breakages in
shortlog and blame if their mailmap integration becomes buggy?

I am not convinced it is a good idea if that is what is going on.

>
> Signed-off-by: Eric Sunshine <sunshine@xxxxxxxxxxxxxx>
> ---
>  t/t4203-mailmap.sh | 133 ++++++++++++++++++-----------------------------------
>  1 file changed, 45 insertions(+), 88 deletions(-)
>
> diff --git a/t/t4203-mailmap.sh b/t/t4203-mailmap.sh
> index 8645492..48a000b 100755
> --- a/t/t4203-mailmap.sh
> +++ b/t/t4203-mailmap.sh
> @@ -74,128 +74,96 @@ test_expect_success 'check-mailmap bogus contact' '
>  '
>  
>  cat >expect <<\EOF
> -A U Thor (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +A U Thor <author@xxxxxxxxxxx>
> +nick1 <bugs@xxxxxxxxxx>
>  EOF
>  
>  test_expect_success 'No mailmap' '
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Repo Guy (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +Repo Guy <author@xxxxxxxxxxx>
> +nick1 <bugs@xxxxxxxxxx>
>  EOF
>  
>  test_expect_success 'default .mailmap' '
>  	echo "Repo Guy <author@xxxxxxxxxxx>" > .mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  # Using a mailmap file in a subdirectory of the repo here, but
>  # could just as well have been a file outside of the repository
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <author@xxxxxxxxxxx>
> +Internal Guy <bugs@xxxxxxxxxx>
>  EOF
>  test_expect_success 'mailmap.file set' '
>  	mkdir -p internal_mailmap &&
>  	echo "Internal Guy <bugs@xxxxxxxxxx>" > internal_mailmap/.mailmap &&
>  	git config mailmap.file internal_mailmap/.mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -External Guy (1):
> -      initial
> -
> -Internal Guy (1):
> -      second
> -
> +External Guy <author@xxxxxxxxxxx>
> +Internal Guy <bugs@xxxxxxxxxx>
>  EOF
>  test_expect_success 'mailmap.file override' '
>  	echo "External Guy <author@xxxxxxxxxxx>" >> internal_mailmap/.mailmap &&
>  	git config mailmap.file internal_mailmap/.mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Repo Guy (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +Repo Guy <author@xxxxxxxxxxx>
> +nick1 <bugs@xxxxxxxxxx>
>  EOF
>  
>  test_expect_success 'mailmap.file non-existent' '
>  	rm internal_mailmap/.mailmap &&
>  	rmdir internal_mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <author@xxxxxxxxxxx>
> +Internal Guy <bugs@xxxxxxxxxx>
>  EOF
>  
>  test_expect_success 'name entry after email entry' '
>  	mkdir -p internal_mailmap &&
>  	echo "<bugs@xxxxxxxxxx> <bugs@xxxxxxxxxx>" >internal_mailmap/.mailmap &&
>  	echo "Internal Guy <bugs@xxxxxxxxxx>" >>internal_mailmap/.mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -Internal Guy (1):
> -      second
> -
> -Repo Guy (1):
> -      initial
> -
> +Repo Guy <author@xxxxxxxxxxx>
> +Internal Guy <bugs@xxxxxxxxxx>
>  EOF
>  
>  test_expect_success 'name entry after email entry, case-insensitive' '
>  	mkdir -p internal_mailmap &&
>  	echo "<bugs@xxxxxxxxxx> <bugs@xxxxxxxxxx>" >internal_mailmap/.mailmap &&
>  	echo "Internal Guy <BUGS@xxxxxxxxxx>" >>internal_mailmap/.mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  cat >expect <<\EOF
> -A U Thor (1):
> -      initial
> -
> -nick1 (1):
> -      second
> -
> +A U Thor <author@xxxxxxxxxxx>
> +nick1 <bugs@xxxxxxxxxx>
>  EOF
>  test_expect_success 'No mailmap files, but configured' '
>  	rm -f .mailmap internal_mailmap/.mailmap &&
> -	git shortlog HEAD >actual &&
> +	git check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
> @@ -217,54 +185,43 @@ test_expect_success 'setup mailmap blob tests' '
>  
>  test_expect_success 'mailmap.blob set' '
>  	cat >expect <<-\EOF &&
> -	Blob Guy (1):
> -	      second
> -
> -	Repo Guy (1):
> -	      initial
> -
> +	Repo Guy <author@xxxxxxxxxxx>
> +	Blob Guy <bugs@xxxxxxxxxx>
>  	EOF
> -	git -c mailmap.blob=map:just-bugs shortlog HEAD >actual &&
> +	git -c mailmap.blob=map:just-bugs check-mailmap --stdin \
> +		<contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.blob overrides .mailmap' '
>  	cat >expect <<-\EOF &&
> -	Blob Guy (2):
> -	      initial
> -	      second
> -
> +	Blob Guy <author@xxxxxxxxxxx>
> +	Blob Guy <bugs@xxxxxxxxxx>
>  	EOF
> -	git -c mailmap.blob=map:both shortlog HEAD >actual &&
> +	git -c mailmap.blob=map:both check-mailmap --stdin \
> +		<contacts  >actual &&
>  	test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.file overrides mailmap.blob' '
>  	cat >expect <<-\EOF &&
> -	Blob Guy (1):
> -	      second
> -
> -	Internal Guy (1):
> -	      initial
> -
> +	Internal Guy <author@xxxxxxxxxxx>
> +	Blob Guy <bugs@xxxxxxxxxx>
>  	EOF
>  	git \
>  	  -c mailmap.blob=map:both \
>  	  -c mailmap.file=internal.map \
> -	  shortlog HEAD >actual &&
> +	  check-mailmap --stdin <contacts >actual &&
>  	test_cmp expect actual
>  '
>  
>  test_expect_success 'mailmap.blob can be missing' '
>  	cat >expect <<-\EOF &&
> -	Repo Guy (1):
> -	      initial
> -
> -	nick1 (1):
> -	      second
> -
> +	Repo Guy <author@xxxxxxxxxxx>
> +	nick1 <bugs@xxxxxxxxxx>
>  	EOF
> -	git -c mailmap.blob=map:nonexistent shortlog HEAD >actual &&
> +	git -c mailmap.blob=map:nonexistent check-mailmap --stdin \
> +		<contacts >actual &&
>  	test_cmp expect actual
>  '
>  
> @@ -273,12 +230,12 @@ test_expect_success 'mailmap.blob defaults to off in non-bare repo' '
>  	(
>  		cd non-bare &&
>  		test_commit one .mailmap "Fake Name <author@xxxxxxxxxxx>" &&
> -		echo "     1	Fake Name" >expect &&
> -		git shortlog -ns HEAD >actual &&
> +		echo "Fake Name <author@xxxxxxxxxxx>" >expect &&
> +		git check-mailmap "A U Thor <author@xxxxxxxxxxx>" >actual &&
>  		test_cmp expect actual &&
>  		rm .mailmap &&
> -		echo "     1	A U Thor" >expect &&
> -		git shortlog -ns HEAD >actual &&
> +		echo "A U Thor <author@xxxxxxxxxxx>" >expect &&
> +		git check-mailmap "A U Thor <author@xxxxxxxxxxx>" >actual &&
>  		test_cmp expect actual
>  	)
>  '
> @@ -287,8 +244,8 @@ test_expect_success 'mailmap.blob defaults to HEAD:.mailmap in bare repo' '
>  	git clone --bare non-bare bare &&
>  	(
>  		cd bare &&
> -		echo "     1	Fake Name" >expect &&
> -		git shortlog -ns HEAD >actual &&
> +		echo "Fake Name <author@xxxxxxxxxxx>" >expect &&
> +		git check-mailmap "A U Thor <author@xxxxxxxxxxx>" >actual &&
>  		test_cmp expect actual
>  	)
>  '
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]