t3404: make the 'rebase.missingCommitsCheck=ignore' test more focused
authorSZEDER Gábor <szeder.dev@gmail.com>
Mon, 24 Jun 2019 18:13:15 +0000 (20:13 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 24 Jun 2019 20:38:46 +0000 (13:38 -0700)
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>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3404-rebase-interactive.sh
index 9146f9d47b26965ce1d30e70567b0a8bbb56e892..0b8267c97cb7e2d53d157ae9114f47eeb90a15b4 100755 (executable)
@@ -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)
 '