Re: [PATCH 6/5] t9001: check send-email behavior with implicit sender
- From
Jeff King <peff@peff.net>
- Date
- Nov 28, 2012, 20:17 UTC
- Message-ID
- <20121128201713.GA9249@sigill.intra.peff.net>
- In-Reply-To
- <20121128200626.GA4292@sigill.intra.peff.net>
On Wed, Nov 28, 2012 at 03:06:26PM -0500, Jeff King wrote:
> Here's a cleaned up version that makes it more obvious the commands are > the same (it also fixes a few minor whitespace problems on the > indentation, which you can see from the quoting above).
I wondered how painful it would be to actually run the command and then conditionally check the results inside the test. I ended up with this:
diff --git a/t/t9001-send-email.sh b/t/t9001-send-email.sh index c5d66cf..9c8fac1 100755 --- a/t/t9001-send-email.sh +++ b/t/t9001-send-email.sh @@ -201,6 +201,30 @@ test_expect_success $PREREQ 'Prompting works' ' grep "^To: to@example.com\$" msgtxt1 ' +test_expect_success $PREREQ 'handle implicit ident' ' + clean_fake_sendmail && + ( + sane_unset GIT_AUTHOR_NAME && + sane_unset GIT_AUTHOR_EMAIL && + sane_unset GIT_COMMITTER_NAME && + sane_unset GIT_COMMITTER_EMAIL && + GIT_SEND_EMAIL_NOTTY=1 && export GIT_SEND_EMAIL_NOTTY && + { + git send-email \ + --smtp-server="$(pwd)/fake.sendmail" \ + --to=to@example.com \ + $patches </dev/null 2>errors; + exit_code=$? + } && + if test_have_prereq AUTOIDENT; then + test $exit_code = 0 + else + test $exit_code != 0 && + test_i18ngrep "tell me who you are" errors + fi + ) +' + test_expect_success $PREREQ 'tocmd works' ' clean_fake_sendmail && cp $patches tocmd.patch && which does work, though it is less nice that the protections and nice syntax of "test_must_fail" must be abandoned (unless we want to do something horrible like 'test_must_fail sh -c "exit $exit_code"'. I could go either way. -Peff