summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTay Ray Chuan <rctay89@gmail.com>2010-05-27 23:34:51 +0800
committerJunio C Hamano <gitster@pobox.com>2010-05-28 15:35:23 -0700
commitcee9f2b37bd7c65de5fb507d11b4caac31c29039 (patch)
tree4f3212b8856f724a2dd30f84c386b35067ce66d4
parentfc6fa0d0f38f4e5b47f260fe2755ba0d1b17ae53 (diff)
downloadgit-cee9f2b37bd7c65de5fb507d11b4caac31c29039.tar.gz
t7502-commit: add summary output tests for empty and merge commits
After c197702 (pretty: Respect --abbrev option), non-abbreviated hashes began to appear, leading to failures for these tests. Signed-off-by: Tay Ray Chuan <rctay89@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t7502-commit.sh29
1 files changed, 27 insertions, 2 deletions
diff --git a/t/t7502-commit.sh b/t/t7502-commit.sh
index 478b637b0c..b10541d4d3 100755
--- a/t/t7502-commit.sh
+++ b/t/t7502-commit.sh
@@ -4,10 +4,10 @@ test_description='git commit porcelain-ish'
. ./test-lib.sh
-# Arguments: [<prefix] [<commit message>]
+# Arguments: [<prefix] [<commit message>] [<commit options>]
check_summary_oneline() {
test_tick &&
- git commit -m "$2" | head -1 > act &&
+ git commit ${3+"$3"} -m "$2" | head -1 > act &&
# branch name
SUMMARY_PREFIX="$(git name-rev --name-only HEAD)" &&
@@ -36,6 +36,31 @@ test_expect_success 'output summary format' '
check_summary_oneline "" "a change"
'
+test_expect_failure 'output summary format for commit with an empty diff' '
+
+ check_summary_oneline "" "empty" "--allow-empty"
+'
+
+test_expect_failure 'output summary format for merges' '
+
+ git checkout -b recursive-base &&
+ test_commit base file1 &&
+
+ git checkout -b recursive-a recursive-base &&
+ test_commit commit-a file1 &&
+
+ git checkout -b recursive-b recursive-base &&
+ test_commit commit-b file1 &&
+
+ # conflict
+ git checkout recursive-a &&
+ test_must_fail git merge recursive-b &&
+ # resolve the conflict
+ echo commit-a > file1 &&
+ git add file1 &&
+ check_summary_oneline "" "Merge"
+'
+
output_tests_cleanup() {
# this is needed for "do not fire editor in the presence of conflicts"
git checkout master &&