Skip to content

Commit 9a70f3d

Browse files
newrengitster
authored andcommitted
t3432: make these tests work with either am or merge backends
t3432 had several stress tests for can_fast_forward(), whose intent was to ensure we were using the optimization of just fast forwarding when possible. However, these tests verified that fast forwards had happened based on the output that rebase printed to the terminal. We can instead test more directly that we actually fast-forwarded by checking the reflog, which also has the side effect of making the tests applicable for the merge/interactive backend. This change does lose the distinction between "noop" and "noop-force", but as stated in commit c9efc21 ("t3432: test for --no-ff's interaction with fast-forward", 2019-08-27) which introduced that distinction: "These tests aren't supposed to endorse the status quo, just test for what we're currently doing.". This change does not actually run these tests with the merge/interactive backend; instead this is just a preparatory commit. A subsequent commit which fixes can_fast_forward() to work with that backend will then also change t3432 to add tests of that backend as well. Signed-off-by: Elijah Newren <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 93122c9 commit 9a70f3d

File tree

1 file changed

+22
-26
lines changed

1 file changed

+22
-26
lines changed

t/t3432-rebase-fast-forward.sh

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,15 @@ test_rebase_same_head_ () {
4444
test_expect_$status "git rebase$flag $* with $changes is $what with $cmp HEAD" "
4545
oldhead=\$(git rev-parse HEAD) &&
4646
test_when_finished 'git reset --hard \$oldhead' &&
47+
cp .git/logs/HEAD expect &&
4748
git rebase$flag $* >stdout &&
4849
if test $what = work
4950
then
50-
# Must check this case first, for 'is up to
51-
# date, rebase forced[...]rewinding head' cases
52-
test_i18ngrep 'rewinding head' stdout
51+
old=\$(wc -l <expect) &&
52+
test_line_count '-gt' \$old .git/logs/HEAD
5353
elif test $what = noop
5454
then
55-
test_i18ngrep 'is up to date' stdout &&
56-
test_i18ngrep ! 'rebase forced' stdout
57-
elif test $what = noop-force
58-
then
59-
test_i18ngrep 'is up to date, rebase forced' stdout
55+
test_cmp expect .git/logs/HEAD
6056
fi &&
6157
newhead=\$(git rev-parse HEAD) &&
6258
if test $cmp = same
@@ -71,14 +67,14 @@ test_rebase_same_head_ () {
7167

7268
changes='no changes'
7369
test_rebase_same_head success noop same success work same
74-
test_rebase_same_head success noop same success noop-force same master
75-
test_rebase_same_head success noop same success noop-force diff --onto B B
76-
test_rebase_same_head success noop same success noop-force diff --onto B... B
77-
test_rebase_same_head success noop same success noop-force same --onto master... master
78-
test_rebase_same_head success noop same success noop-force same --keep-base master
79-
test_rebase_same_head success noop same success noop-force same --keep-base
80-
test_rebase_same_head success noop same success noop-force same --no-fork-point
81-
test_rebase_same_head success noop same success noop-force same --keep-base --no-fork-point
70+
test_rebase_same_head success noop same success work same master
71+
test_rebase_same_head success noop same success work diff --onto B B
72+
test_rebase_same_head success noop same success work diff --onto B... B
73+
test_rebase_same_head success noop same success work same --onto master... master
74+
test_rebase_same_head success noop same success work same --keep-base master
75+
test_rebase_same_head success noop same success work same --keep-base
76+
test_rebase_same_head success noop same success work same --no-fork-point
77+
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
8278
test_rebase_same_head success noop same success work same --fork-point master
8379
test_rebase_same_head success noop same success work diff --fork-point --onto B B
8480
test_rebase_same_head success noop same success work diff --fork-point --onto B... B
@@ -91,14 +87,14 @@ test_expect_success 'add work same to side' '
9187

9288
changes='our changes'
9389
test_rebase_same_head success noop same success work same
94-
test_rebase_same_head success noop same success noop-force same master
95-
test_rebase_same_head success noop same success noop-force diff --onto B B
96-
test_rebase_same_head success noop same success noop-force diff --onto B... B
97-
test_rebase_same_head success noop same success noop-force same --onto master... master
98-
test_rebase_same_head success noop same success noop-force same --keep-base master
99-
test_rebase_same_head success noop same success noop-force same --keep-base
100-
test_rebase_same_head success noop same success noop-force same --no-fork-point
101-
test_rebase_same_head success noop same success noop-force same --keep-base --no-fork-point
90+
test_rebase_same_head success noop same success work same master
91+
test_rebase_same_head success noop same success work diff --onto B B
92+
test_rebase_same_head success noop same success work diff --onto B... B
93+
test_rebase_same_head success noop same success work same --onto master... master
94+
test_rebase_same_head success noop same success work same --keep-base master
95+
test_rebase_same_head success noop same success work same --keep-base
96+
test_rebase_same_head success noop same success work same --no-fork-point
97+
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
10298
test_rebase_same_head success noop same success work same --fork-point master
10399
test_rebase_same_head success noop same success work diff --fork-point --onto B B
104100
test_rebase_same_head success noop same success work diff --fork-point --onto B... B
@@ -112,8 +108,8 @@ test_expect_success 'add work same to upstream' '
112108
'
113109

114110
changes='our and their changes'
115-
test_rebase_same_head success noop same success noop-force diff --onto B B
116-
test_rebase_same_head success noop same success noop-force diff --onto B... B
111+
test_rebase_same_head success noop same success work diff --onto B B
112+
test_rebase_same_head success noop same success work diff --onto B... B
117113
test_rebase_same_head success noop same success work diff --onto master... master
118114
test_rebase_same_head success noop same success work diff --keep-base master
119115
test_rebase_same_head success noop same success work diff --keep-base

0 commit comments

Comments
 (0)