From 8c8b3bc3f4e859be0af49f91e0d1831a9ae50324 Mon Sep 17 00:00:00 2001
From: Jeff King <peff@peff.net>
Date: Thu, 26 Jul 2012 16:32:50 -0400
Subject: [PATCH] t7502: test early quit from commit with bad ident

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 | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index c444812a4d..deb187eb7b 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -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 &&