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@xxxxxxxxxxx\$" 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@xxxxxxxxxxx \ + $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 -- 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