Re: [PATCH 1/4] t/t7502: compare entire commit message with what was expected

2013-02-19 Thread Junio C Hamano
Jonathan Nieder  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.

>
> Signed-off-by: Jonathan Nieder 
>
> 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 
> + #
> + 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 &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/4] t/t7502: compare entire commit message with what was expected

2013-02-18 Thread Jonathan Nieder
Jonathan Nieder wrote:

> +++ w/t/t7502-commit.sh
[...]
> + # 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 
> + #
> + EOF
> + git commit -a --dry-run
> + } >expect &&
> + git commit --cleanup=verbatim -t template -a &&
> - git cat-file -p HEAD |sed -e "1,/^\$/d" |head -n 3 >actual &&
> + git cat-file -p HEAD |sed -e "1,/^\$/d" >actual &&
>   test_cmp expect actual

Quick correction: this would use test_i18ncmp instead of test_cmp if
it ends up being a good idea.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 1/4] t/t7502: compare entire commit message with what was expected

2013-02-18 Thread Jonathan Nieder
Brandon Casey wrote:

> So, let's use the --no-status option to 'git commit' which will cause
> git to refrain from appending the lines of instructional text to the
> commit message.  This will allow the entire resulting commit message to
> be compared against the expected value.

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?

Signed-off-by: Jonathan Nieder 

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 
+   #
+   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 &&
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html