]> git.ipfire.org Git - thirdparty/git.git/commitdiff
show-branch tests: add missing tests
authorÆvar Arnfjörð Bjarmason <avarab@gmail.com>
Thu, 17 Jun 2021 10:53:38 +0000 (12:53 +0200)
committerJunio C Hamano <gitster@pobox.com>
Mon, 28 Jun 2021 16:33:06 +0000 (09:33 -0700)
Add missing tests for --remotes, --list and --merge-base. These are
not exhaustive, but better than the nothing we have now.

There were some tests for this command added in f76412ed6db ([PATCH]
Add 'git show-branch'., 2005-08-21) has never been properly tested,
namely for the --all option in t6432-merge-recursive-space-options.sh,
and some of --merge-base and --independent in t6010-merge-base.sh.

This fixes a few more blind spots, but there's still a lot of behavior
that's not tested for.

These new tests show the odd (and possibly unintentional) behavior of
--merge-base with one argument, and how its output is the same as "git
merge-base" with N bases in this particular case. See the test added
in f621a8454d1 (git-merge-base/git-show-branch --merge-base:
Documentation and test, 2009-08-05) for a case where the two aren't
the same.

Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
t/t3202-show-branch.sh

index 54025f033792197ed73d3427d58c75fca119aaad..ad9902a06b9f20d9e4d86b676e30fdd906835e67 100755 (executable)
@@ -85,4 +85,65 @@ test_expect_success 'show-branch --color output' '
        test_cmp expect actual
 '
 
+test_expect_success 'show branch --remotes' '
+       cat >expect.err <<-\EOF &&
+       No revs to be shown.
+       EOF
+       git show-branch -r 2>actual.err >actual.out &&
+       test_cmp expect.err actual.err &&
+       test_must_be_empty actual.out
+'
+
+test_expect_success 'setup show branch --list' '
+       sed "s/^> //" >expect <<-\EOF
+       >   [branch1] branch1
+       >   [branch2] branch2
+       >   [branch3] branch3
+       >   [branch4] branch4
+       >   [branch5] branch5
+       >   [branch6] branch6
+       >   [branch7] branch7
+       >   [branch8] branch8
+       >   [branch9] branch9
+       > * [branch10] branch10
+       EOF
+'
+
+test_expect_success 'show branch --list' '
+       git show-branch --list $(cat branches.sorted) >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'show branch --list has no --color output' '
+       git show-branch --color=always --list $(cat branches.sorted) >actual &&
+       test_cmp expect actual
+'
+
+test_expect_success 'show branch --merge-base with one argument' '
+       for branch in $(cat branches.sorted)
+       do
+               git rev-parse $branch >expect &&
+               git show-branch --merge-base $branch >actual &&
+               test_cmp expect actual
+       done
+'
+
+test_expect_success 'show branch --merge-base with two arguments' '
+       for branch in $(cat branches.sorted)
+       do
+               git rev-parse initial >expect &&
+               git show-branch --merge-base initial $branch >actual &&
+               test_cmp expect actual
+       done
+'
+
+test_expect_success 'show branch --merge-base with N arguments' '
+       git rev-parse initial >expect &&
+       git show-branch --merge-base $(cat branches.sorted) >actual &&
+       test_cmp expect actual &&
+
+       git merge-base $(cat branches.sorted) >actual &&
+       test_cmp expect actual
+'
+
 test_done