[PATCH v2 3/4] t4203: test mailmap functionality directly rather than indirectly
- From
Eric Sunshine <sunshine@sunshineco.com>
- Date
- Jul 11, 2013, 14:55 UTC
- Message-ID
- <1373554528-15775-4-git-send-email-sunshine@sunshineco.com>
- In-Reply-To
- <1373554528-15775-1-git-send-email-sunshine@sunshineco.com>
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@sunshineco.com> --- 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@example.com> +nick1 <bugs@company.xx> 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@example.com> +nick1 <bugs@company.xx> EOF test_expect_success 'default .mailmap' ' echo "Repo Guy <author@example.com>" > .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@example.com> +Internal Guy <bugs@company.xx> EOF test_expect_success 'mailmap.file set' ' mkdir -p internal_mailmap && echo "Internal Guy <bugs@company.xx>" > 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@example.com> +Internal Guy <bugs@company.xx> EOF test_expect_success 'mailmap.file override' ' echo "External Guy <author@example.com>" >> 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@example.com> +nick1 <bugs@company.xx> 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@example.com> +Internal Guy <bugs@company.xy> EOF test_expect_success 'name entry after email entry' ' mkdir -p internal_mailmap && echo "<bugs@company.xy> <bugs@company.xx>" >internal_mailmap/.mailmap && echo "Internal Guy <bugs@company.xx>" >>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@example.com> +Internal Guy <bugs@company.xy> EOF test_expect_success 'name entry after email entry, case-insensitive' ' mkdir -p internal_mailmap && echo "<bugs@company.xy> <bugs@company.xx>" >internal_mailmap/.mailmap && echo "Internal Guy <BUGS@Company.xx>" >>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@example.com> +nick1 <bugs@company.xx> 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@example.com> + Blob Guy <bugs@company.xx> 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@example.com> + Blob Guy <bugs@company.xx> 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@example.com> + Blob Guy <bugs@company.xx> 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@example.com> + nick1 <bugs@company.xx> 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@example.com>" && - echo " 1 Fake Name" >expect && - git shortlog -ns HEAD >actual && + echo "Fake Name <author@example.com>" >expect && + git check-mailmap "A U Thor <author@example.com>" >actual && test_cmp expect actual && rm .mailmap && - echo " 1 A U Thor" >expect && - git shortlog -ns HEAD >actual && + echo "A U Thor <author@example.com>" >expect && + git check-mailmap "A U Thor <author@example.com>" >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@example.com>" >expect && + git check-mailmap "A U Thor <author@example.com>" >actual && test_cmp expect actual ) '
-- 1.8.3.2