Re: [PATCH 1/4] t/t7502: compare entire commit message with what was expected
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 19, 2013, 17:24 UTC
- Message-ID
- <7vhal86wt4.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130219050813.GC19757@elie.Belkin>
Jonathan Nieder <jrnieder@gmail.com> writes:
Show 5 quoted lines
> 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.
Show 48 quoted lines
>
> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
>
> 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 &&