Re: [PATCH 1/4] t/t7502: compare entire commit message with what was expected
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:56:12
Jonathan Nieder [off-list ref] writes:
The downside (not a new problem, but a downside nonetheless) is that it means the test doesn't demonstrate what --cleanup=verbatim --status will do. How about something like this?
Can't we be a bit more robust by not using a hardcoded block of lines as the "expect" string? You could for example use what you would see in your editor when "git commit" is run without the "-t" option to form the expected pattern, no? In any case, I think (1) a test for 'verbatim with status' is worth doing, and (2) it would be cleaner to do this as a separate step, perhaps on top of Brandon's 4-patch series.
quoted hunk
Signed-off-by: Jonathan Nieder <redacted>diff --git i/t/t7502-commit.sh w/t/t7502-commit.sh index cbd7a459..64162fce 100755 --- i/t/t7502-commit.sh +++ w/t/t7502-commit.sh@@ -180,15 +180,37 @@ test_expect_success 'verbose respects diff config' ' test_expect_success 'cleanup commit messages (verbatim option,-t)' ' echo >>negative && - { echo;echo "# text";echo; } >expect && - git commit --cleanup=verbatim -t expect -a && - git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual && + { + echo && + echo "# text" && + echo + } >template && + { + cat template && + cat <<-\EOF && + + # Please enter the commit message for your changes. Lines starting + # with '\''#'\'' will be kept; you may remove them yourself if you want to. + # An empty message aborts the commit. + # + # Author: A U Thor <author@example.com> + # + EOF + git commit -a --dry-run + } >expect && + git commit --cleanup=verbatim -t template -a && + git cat-file -p HEAD |sed -e "1,/^\$/d" >actual && test_cmp expect actual ' test_expect_success 'cleanup commit messages (verbatim option,-F)' ' + { + echo && + echo "# text" && + echo + } >expect && echo >>negative && git commit --cleanup=verbatim -F expect -a && git cat-file -p HEAD |sed -e "1,/^\$/d">actual &&