t7501: fix "empty commit" test with NO_PERL
authorJeff King <peff@peff.net>
Thu, 23 Jan 2014 19:54:57 +0000 (14:54 -0500)
committerJunio C Hamano <gitster@pobox.com>
Thu, 23 Jan 2014 21:11:07 +0000 (13:11 -0800)
t7501.9 tries to check that "git commit" will fail when the
index is unchanged. It relies on previous tests not to have
modified the index. When it was originally written, this was
always the case. However, commit c65dc35 (t7501: test the
right kind of breakage, 2012-03-30) changed earlier tests (4
and 5) to leave a modification in the index.

We never noticed, however, because t7501.7, between the two,
clears the index state as a side effect. However, that test
depends on the PERL prerequisite, and so it does not always
run. Therefore if NO_PERL is set, we do not run the
intervening test, the index is left unclean, and t7501.9
fails.

We could fix this by moving t7501.9 up in the script.
However, this patch instead leaves it in place and adds a
"git reset" before the commit. This makes the test more
explicit about its preconditions, and will future-proof it
against any other changes in the test state.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7501-commit.sh
index f04798f87232fbbf705dd8a24300a76a2a6e435a..94eec83b37f38699af91b3808051515f267f3a5f 100755 (executable)
@@ -57,6 +57,7 @@ test_expect_success 'using invalid commit with -C' '
 '
 
 test_expect_success 'nothing to commit' '
+       git reset --hard &&
        test_must_fail git commit -m initial
 '