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.
Signed-off-by: Eric Sunshine <[email protected]> --- 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 <[email protected]> +nick1 <[email protected]> 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 <[email protected]> +nick1 <[email protected]> EOF test_expect_success 'default .mailmap' ' echo "Repo Guy <[email protected]>" > .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 <[email protected]> +Internal Guy <[email protected]> EOF test_expect_success 'mailmap.file set' ' mkdir -p internal_mailmap && echo "Internal Guy <[email protected]>" > 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 <[email protected]> +Internal Guy <[email protected]> EOF test_expect_success 'mailmap.file override' ' echo "External Guy <[email protected]>" >> 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 <[email protected]> +nick1 <[email protected]> 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 <[email protected]> +Internal Guy <[email protected]> EOF test_expect_success 'name entry after email entry' ' mkdir -p internal_mailmap && echo "<[email protected]> <[email protected]>" >internal_mailmap/.mailmap && echo "Internal Guy <[email protected]>" >>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 <[email protected]> +Internal Guy <[email protected]> EOF test_expect_success 'name entry after email entry, case-insensitive' ' mkdir -p internal_mailmap && echo "<[email protected]> <[email protected]>" >internal_mailmap/.mailmap && echo "Internal Guy <[email protected]>" >>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 <[email protected]> +nick1 <[email protected]> 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 <[email protected]> + Blob Guy <[email protected]> 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 <[email protected]> + Blob Guy <[email protected]> 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 <[email protected]> + Blob Guy <[email protected]> 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 <[email protected]> + nick1 <[email protected]> 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 <[email protected]>" && - echo " 1 Fake Name" >expect && - git shortlog -ns HEAD >actual && + echo "Fake Name <[email protected]>" >expect && + git check-mailmap "A U Thor <[email protected]>" >actual && test_cmp expect actual && rm .mailmap && - echo " 1 A U Thor" >expect && - git shortlog -ns HEAD >actual && + echo "A U Thor <[email protected]>" >expect && + git check-mailmap "A U Thor <[email protected]>" >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 <[email protected]>" >expect && + git check-mailmap "A U Thor <[email protected]>" >actual && test_cmp expect actual ) ' -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html

