t7502: test early quit from commit with bad ident
authorJeff King <peff@peff.net>
Thu, 26 Jul 2012 20:32:50 +0000 (16:32 -0400)
committerJunio C Hamano <gitster@pobox.com>
Thu, 26 Jul 2012 21:23:35 +0000 (14:23 -0700)
In commit f20f387, "git commit" notices and dies much
earlier when we have a bogus commit identity. That commit
did not add a test because we cannot do so reliably (namely,
we can only trigger the behavior on a system where the
automatically generated identity is bogus). However, now
that we have a prerequisite check for this feature, we can
add a test that will at least run on systems that produce
such a bogus identity.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t7502-commit.sh

index c444812a4d51f8f5f5ce991eeea658794eac1f25..deb187eb7b4277a43f46e73c1d85012b728ce14a 100755 (executable)
@@ -248,6 +248,8 @@ test_expect_success 'setup auto-ident prerequisite' '
            sane_unset GIT_COMMITTER_NAME &&
            git var GIT_COMMITTER_IDENT); then
                test_set_prereq AUTOIDENT
+       else
+               test_set_prereq NOAUTOIDENT
        fi
 '
 
@@ -269,6 +271,21 @@ echo editor started > "$(pwd)/.git/result"
 exit 0
 EOF
 
+test_expect_success NOAUTOIDENT 'do not fire editor when committer is bogus' '
+       >.git/result
+       >expect &&
+
+       echo >>negative &&
+       (
+               sane_unset GIT_COMMITTER_EMAIL &&
+               sane_unset GIT_COMMITTER_NAME &&
+               GIT_EDITOR="\"$(pwd)/.git/FAKE_EDITOR\"" &&
+               export GIT_EDITOR &&
+               test_must_fail git commit -e -m sample -a
+       ) &&
+       test_cmp expect .git/result
+'
+
 test_expect_success 'do not fire editor in the presence of conflicts' '
 
        git clean -f &&