summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLibravatar Charvi Mendiratta <charvi077@gmail.com>2021-02-10 17:06:48 +0530
committerLibravatar Junio C Hamano <gitster@pobox.com>2021-02-10 13:58:19 -0800
commitd8bd08066db18a4db408ff2957f595592e21c336 (patch)
tree7b811537bcf62f8da9a1f2ed98f5b9c13241233f
parentt/t3437: check the author date of fixed up commit (diff)
downloadtgif-d8bd08066db18a4db408ff2957f595592e21c336.tar.xz
t/t3437: simplify and document the test helpers
Let's simplify the test_commit_message() helper function and add comments to the function. This patch also document the working of 'fixup -C' with "amend!" in the test-description. Mentored-by: Christian Couder <chriscool@tuxfamily.org> Mentored-by: Phillip Wood <phillip.wood@dunelm.org.uk> Helped-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Charvi Mendiratta <charvi077@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xt/t3437-rebase-fixup-options.sh26
1 files changed, 15 insertions, 11 deletions
diff --git a/t/t3437-rebase-fixup-options.sh b/t/t3437-rebase-fixup-options.sh
index 505211a589..6b464989e9 100755
--- a/t/t3437-rebase-fixup-options.sh
+++ b/t/t3437-rebase-fixup-options.sh
@@ -9,7 +9,9 @@ This test checks the "fixup [-C|-c]" command of rebase interactive.
In addition to amending the contents of the commit, "fixup -C"
replaces the original commit message with the message of the fixup
commit. "fixup -c" also replaces the original message, but opens the
-editor to allow the user to edit the message before committing.
+editor to allow the user to edit the message before committing. Similar
+to the "fixup" command that works with "fixup!", "fixup -C" works with
+"amend!" upon --autosquash.
'
. ./test-lib.sh
@@ -18,17 +20,19 @@ editor to allow the user to edit the message before committing.
EMPTY=""
+# test_commit_message <rev> -m <msg>
+# test_commit_message <rev> <path>
+# Verify that the commit message of <rev> matches
+# <msg> or the content of <path>.
test_commit_message () {
- rev="$1" && # commit or tag we want to test
- file="$2" && # test against the content of a file
- git show --no-patch --pretty=format:%B "$rev" >actual-message &&
- if test "$2" = -m
- then
- str="$3" && # test against a string
- printf "%s\n" "$str" >tmp-expected-message &&
- file="tmp-expected-message"
- fi
- test_cmp "$file" actual-message
+ git show --no-patch --pretty=format:%B "$1" >actual &&
+ case "$2" in
+ -m)
+ echo "$3" >expect &&
+ test_cmp expect actual ;;
+ *)
+ test_cmp "$2" actual ;;
+ esac
}
get_author () {