Thread (16 messages) flat view 16 messages, 3 authors, 2021-06-17

Re: [PATCH 4/4] show-branch tests: add missing tests

From: Michael J Gruber <hidden>
Date: 2021-06-15 09:34:04

Ævar Arnfjörð Bjarmason venit, vidit, dixit 2021-06-14 19:18:10:
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 add (and possibly unintentional) behavior of
"odd"

Other than that, I don't think show-branch was broken, so I somehow
contest the phrase "fix" in this series, it's more of a clean-up.

Just to be sure: Users have no way of assigning a color code with
background colors to the columns, which is why omitting
the lookup and reset is correct for a space.

Now, people scripting around show-branch might be bitten by that change
because the number of (unprocessed) characters in the output changes, or
because a control character which they used to "tr" is not there any more.
They should not (script this command), I guess.
quoted hunk ↗ jump to hunk
--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 <redacted>
---
 t/t3202-show-branch.sh | 61 ++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
diff --git a/t/t3202-show-branch.sh b/t/t3202-show-branch.sh
index 54025f03379..ad9902a06b9 100755
--- a/t/t3202-show-branch.sh
+++ b/t/t3202-show-branch.sh
@@ -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
-- 
2.32.0.555.g0268d380f7b
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help