summaryrefslogtreecommitdiff
path: root/t/t7502-commit.sh
diff options
context:
space:
mode:
authorJeff King <peff@peff.net>2012-07-26 20:32:50 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-07-26 21:23:35 (GMT)
commit8c8b3bc3f4e859be0af49f91e0d1831a9ae50324 (patch)
tree2996772a411fb2517a3f9b0636d4635b705b3929 /t/t7502-commit.sh
parent1d7dc26498b5d7b7879d579f40be63210c50400c (diff)
downloadgit-8c8b3bc3f4e859be0af49f91e0d1831a9ae50324.zip
git-8c8b3bc3f4e859be0af49f91e0d1831a9ae50324.tar.gz
git-8c8b3bc3f4e859be0af49f91e0d1831a9ae50324.tar.bz2
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>
Diffstat (limited to 't/t7502-commit.sh')
-rwxr-xr-xt/t7502-commit.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index c444812..deb187e 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 &&