Re: [PATCH v3 3/3] send-email: add test for Linux's get_maintainer.pl
From: Junio C Hamano <hidden>
Date: 2018-01-08 18:45:23
Matthieu Moy [off-list ref] writes:
From: Alex Bennée <redacted> We had a regression that broke Linux's get_maintainer.pl. Using Mail::Address to parse email addresses fixed it, but let's protect against future regressions. Note that we need --cc-cmd to be relative because this option doesn't accept spaces in script names (probably to allow --cc-cmd="executable --option"), while --smtp-server needs to be absolute. Patch-edited-by: Matthieu Moy [off-list ref] Signed-off-by: Alex Bennée <redacted> Signed-off-by: Matthieu Moy <redacted> --- Change since v2: * Mention relative Vs absolute path in commit message. * Remove useless "chmod +x" * Remove useless double quotes t/t9001-send-email.sh | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)
Thanks, both. "while --smtp-server needs to be ..." gave a "Huh?" for somebody who weren't familiar with the discussion that led to the addition of that note (i.e. "unlike a near-by test that passes a full-path $(pwd)/fake.endmail to --smtp-server" would have helped); it is not a big deal, though. Let's merge this to 'next' and try to merge in the first batch post the release. Thanks.
quoted hunk
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index 4d261c2..a06e5d7 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh@@ -172,6 +172,25 @@ test_expect_success $PREREQ 'cc trailer with various syntax' ' test_cmp expected-cc commandline1 ' +test_expect_success $PREREQ 'setup fake get_maintainer.pl script for cc trailer' " + write_script expected-cc-script.sh <<-EOF + echo 'One Person <one@example.com> (supporter:THIS (FOO/bar))' + echo 'Two Person <two@example.com> (maintainer:THIS THING)' + echo 'Third List <three@example.com> (moderated list:THIS THING (FOO/bar))' + echo '<four@example.com> (moderated list:FOR THING)' + echo 'five@example.com (open list:FOR THING (FOO/bar))' + echo 'six@example.com (open list)' + EOF +" + +test_expect_success $PREREQ 'cc trailer with get_maintainer.pl output' ' + clean_fake_sendmail && + git send-email -1 --to=recipient@example.com \ + --cc-cmd=./expected-cc-script.sh \ + --smtp-server="$(pwd)/fake.sendmail" && + test_cmp expected-cc commandline1 +' + test_expect_success $PREREQ 'setup expect' " cat >expected-show-all-headers <<\EOF 0001-Second.patch