git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Jiang Xin <worldhello.net@gmail.com>, Git List <git@vger.kernel.org>
Subject: [PATCH 4/6] t7502: drop confusing test_might_fail call
Date: Thu, 26 Jul 2012 16:31:15 -0400	[thread overview]
Message-ID: <20120726203115.GD16048@sigill.intra.peff.net> (raw)
In-Reply-To: <20120726202644.GA15043@sigill.intra.peff.net>

In t7502.20, we run "git commit" and check that it warns us
that the author and committer identity are not the same
(this is always the case in the test environment, since we
set up the idents differently).

Instead of actually making a commit, we have a clean index,
so the "git commit" we run will fail. This is marked as
might_fail, which is not really correct; it will always fail
since there is nothing to commit.

However, the only reason not to do a complete commit would
be to see the intermediate state of the COMMIT_EDITMSG file
when the commit is not completed. We don't need to care
about this, though; even a complete commit will leave
COMMIT_EDITMSG for us to view.  By doing a real commit and
dropping the might_fail, we are more robust against other
unforeseen failures of "git commit" that might influence our
test result.

It might seem less robust to depend on the fact that "git
commit" leaves COMMIT_EDITMSG in place after a successful
commit. However, that brings this test in line with others
parts of the script, which make the same assumption.
Furthermore, if that ever does change, the right solution is
not to prevent commit from completing, but to set EDITOR to
a script that will record the contents we see. After all,
the point of these tests is to check what the user sees in
their EDITOR, so that would be the most direct test. For
now, though, we can continue to use the "shortcut" that
COMMIT_EDITMSG is left intact.

Signed-off-by: Jeff King <peff@peff.net>
---
Sorry for the long explanation. It took me a long time to figure out why
this test_might_fail is there at all, so I wanted to present my full
analysis as to why it's OK to remove.

 t/t7502-commit.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index efecb06..d261b82 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -237,7 +237,7 @@ test_expect_success 'cleanup commit messages (strip,-F,-e): output' '
 
 test_expect_success 'message shows author when it is not equal to committer' '
 	echo >>negative &&
-	test_might_fail git commit -e -m "sample" &&
+	git commit -e -m "sample" -a &&
 	test_i18ngrep \
 	  "^# Author: *A U Thor <author@example.com>\$" \
 	  .git/COMMIT_EDITMSG
-- 
1.7.11.3.8.ge78f547

  parent reply	other threads:[~2012-07-26 20:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-26  6:27 Test "t/t7502-commit.sh" failed Jiang Xin
2012-07-26 13:03 ` Jeff King
2012-07-26 16:34   ` Junio C Hamano
2012-07-26 17:12     ` Jeff King
2012-07-26 19:25       ` Junio C Hamano
2012-07-26 19:33         ` Jeff King
2012-07-26 20:04           ` Junio C Hamano
2012-07-26 20:26           ` [PATCH 0/6] t7502 fixes Jeff King
2012-07-26 20:27             ` [PATCH 1/6] t7502: clean up fake_editor tests Jeff King
2012-07-26 20:28             ` [PATCH 2/6] t7502: properly quote GIT_EDITOR Jeff King
2012-07-26 20:30             ` [PATCH 3/6] t7502: narrow checks for author/committer name in template Jeff King
2012-07-26 20:31             ` Jeff King [this message]
2012-07-26 20:32             ` [PATCH 5/6] t7502: handle systems where auto-identity is broken Jeff King
2012-07-26 20:32             ` [PATCH 6/6] t7502: test early quit from commit with bad ident Jeff King
2012-07-26 21:15             ` [PATCH 0/6] t7502 fixes Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20120726203115.GD16048@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=worldhello.net@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).