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 <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 ) ' -- 1.8.3.2 -- 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