[v3,2/5] t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
diff mbox series

Message ID 20190624181318.17388-3-szeder.dev@gmail.com
State New
Headers show
Series
  • rebase/progress: add and use term_clear_line()
Related show

Commit Message

SZEDER Gábor June 24, 2019, 6:13 p.m. UTC
The test 'rebase -i respects rebase.missingCommitsCheck = warn' is
mainly interested in the warning about the dropped commits, but it
checks the whole output of 'git rebase', including progress lines and
what not that are not at all relevant to 'rebase.missingCommitsCheck',
but make it necessary to update this test whenever e.g. the way we
show progress is updated (as it will happen in one of the later
patches of this series).

Modify the test to verify only the first four lines of 'git rebase's
output that contain all the important lines, notably the line
containing the "Warning:" itself and the oneline log of the dropped
commit.

Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
---
 t/t3404-rebase-interactive.sh | 15 +--------------
 1 file changed, 1 insertion(+), 14 deletions(-)

Comments

Johannes Schindelin June 25, 2019, 9:07 a.m. UTC | #1
Hi Gábor,

On Mon, 24 Jun 2019, SZEDER Gábor wrote:

> The test 'rebase -i respects rebase.missingCommitsCheck = warn' is
> mainly interested in the warning about the dropped commits, but it
> checks the whole output of 'git rebase', including progress lines and
> what not that are not at all relevant to 'rebase.missingCommitsCheck',
> but make it necessary to update this test whenever e.g. the way we
> show progress is updated (as it will happen in one of the later
> patches of this series).
>
> Modify the test to verify only the first four lines of 'git rebase's
> output that contain all the important lines, notably the line
> containing the "Warning:" itself and the oneline log of the dropped
> commit.

Thank you. Looks very good to me,
Dscho

>
> Signed-off-by: SZEDER Gábor <szeder.dev@gmail.com>
> ---
>  t/t3404-rebase-interactive.sh | 15 +--------------
>  1 file changed, 1 insertion(+), 14 deletions(-)
>
> diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
> index 9146f9d47b..0b8267c97c 100755
> --- a/t/t3404-rebase-interactive.sh
> +++ b/t/t3404-rebase-interactive.sh
> @@ -1299,32 +1299,19 @@ test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' '
>  		actual
>  '
>
> -cr_to_nl () {
> -	tr '\015' '\012'
> -}
> -
>  test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
>  	cat >expect <<-EOF &&
>  	Warning: some commits may have been dropped accidentally.
>  	Dropped commits (newer to older):
>  	 - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
>  	To avoid this message, use "drop" to explicitly remove a commit.
> -
> -	Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
> -	The possible behaviours are: ignore, warn, error.
> -
> -	Rebasing (1/4)
> -	Rebasing (2/4)
> -	Rebasing (3/4)
> -	Rebasing (4/4)
> -	Successfully rebased and updated refs/heads/missing-commit.
>  	EOF
>  	test_config rebase.missingCommitsCheck warn &&
>  	rebase_setup_and_clean missing-commit &&
>  	set_fake_editor &&
>  	FAKE_LINES="1 2 3 4" \
>  		git rebase -i --root 2>actual.2 &&
> -	cr_to_nl <actual.2 >actual &&
> +	head -n4 actual.2 >actual &&
>  	test_i18ncmp expect actual &&
>  	test D = $(git cat-file commit HEAD | sed -ne \$p)
>  '
> --
> 2.22.0.589.g5bd7971b91
>
>

Patch
diff mbox series

diff --git a/t/t3404-rebase-interactive.sh b/t/t3404-rebase-interactive.sh
index 9146f9d47b..0b8267c97c 100755
--- a/t/t3404-rebase-interactive.sh
+++ b/t/t3404-rebase-interactive.sh
@@ -1299,32 +1299,19 @@  test_expect_success 'rebase -i respects rebase.missingCommitsCheck = ignore' '
 		actual
 '
 
-cr_to_nl () {
-	tr '\015' '\012'
-}
-
 test_expect_success 'rebase -i respects rebase.missingCommitsCheck = warn' '
 	cat >expect <<-EOF &&
 	Warning: some commits may have been dropped accidentally.
 	Dropped commits (newer to older):
 	 - $(git rev-list --pretty=oneline --abbrev-commit -1 master)
 	To avoid this message, use "drop" to explicitly remove a commit.
-
-	Use '\''git config rebase.missingCommitsCheck'\'' to change the level of warnings.
-	The possible behaviours are: ignore, warn, error.
-
-	Rebasing (1/4)
-	Rebasing (2/4)
-	Rebasing (3/4)
-	Rebasing (4/4)
-	Successfully rebased and updated refs/heads/missing-commit.
 	EOF
 	test_config rebase.missingCommitsCheck warn &&
 	rebase_setup_and_clean missing-commit &&
 	set_fake_editor &&
 	FAKE_LINES="1 2 3 4" \
 		git rebase -i --root 2>actual.2 &&
-	cr_to_nl <actual.2 >actual &&
+	head -n4 actual.2 >actual &&
 	test_i18ncmp expect actual &&
 	test D = $(git cat-file commit HEAD | sed -ne \$p)
 '