зеркало из https://github.com/microsoft/git.git
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 c9efc21683
("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 <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Родитель
93122c985a
Коммит
9a70f3d4ae
|
@ -44,19 +44,15 @@ test_rebase_same_head_ () {
|
|||
test_expect_$status "git rebase$flag $* with $changes is $what with $cmp HEAD" "
|
||||
oldhead=\$(git rev-parse HEAD) &&
|
||||
test_when_finished 'git reset --hard \$oldhead' &&
|
||||
cp .git/logs/HEAD expect &&
|
||||
git rebase$flag $* >stdout &&
|
||||
if test $what = work
|
||||
then
|
||||
# Must check this case first, for 'is up to
|
||||
# date, rebase forced[...]rewinding head' cases
|
||||
test_i18ngrep 'rewinding head' stdout
|
||||
old=\$(wc -l <expect) &&
|
||||
test_line_count '-gt' \$old .git/logs/HEAD
|
||||
elif test $what = noop
|
||||
then
|
||||
test_i18ngrep 'is up to date' stdout &&
|
||||
test_i18ngrep ! 'rebase forced' stdout
|
||||
elif test $what = noop-force
|
||||
then
|
||||
test_i18ngrep 'is up to date, rebase forced' stdout
|
||||
test_cmp expect .git/logs/HEAD
|
||||
fi &&
|
||||
newhead=\$(git rev-parse HEAD) &&
|
||||
if test $cmp = same
|
||||
|
@ -71,14 +67,14 @@ test_rebase_same_head_ () {
|
|||
|
||||
changes='no changes'
|
||||
test_rebase_same_head success noop same success work same
|
||||
test_rebase_same_head success noop same success noop-force same master
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B B
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B... B
|
||||
test_rebase_same_head success noop same success noop-force same --onto master... master
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base master
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base
|
||||
test_rebase_same_head success noop same success noop-force same --no-fork-point
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base --no-fork-point
|
||||
test_rebase_same_head success noop same success work same master
|
||||
test_rebase_same_head success noop same success work diff --onto B B
|
||||
test_rebase_same_head success noop same success work diff --onto B... B
|
||||
test_rebase_same_head success noop same success work same --onto master... master
|
||||
test_rebase_same_head success noop same success work same --keep-base master
|
||||
test_rebase_same_head success noop same success work same --keep-base
|
||||
test_rebase_same_head success noop same success work same --no-fork-point
|
||||
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
|
||||
test_rebase_same_head success noop same success work same --fork-point master
|
||||
test_rebase_same_head success noop same success work diff --fork-point --onto B B
|
||||
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' '
|
|||
|
||||
changes='our changes'
|
||||
test_rebase_same_head success noop same success work same
|
||||
test_rebase_same_head success noop same success noop-force same master
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B B
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B... B
|
||||
test_rebase_same_head success noop same success noop-force same --onto master... master
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base master
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base
|
||||
test_rebase_same_head success noop same success noop-force same --no-fork-point
|
||||
test_rebase_same_head success noop same success noop-force same --keep-base --no-fork-point
|
||||
test_rebase_same_head success noop same success work same master
|
||||
test_rebase_same_head success noop same success work diff --onto B B
|
||||
test_rebase_same_head success noop same success work diff --onto B... B
|
||||
test_rebase_same_head success noop same success work same --onto master... master
|
||||
test_rebase_same_head success noop same success work same --keep-base master
|
||||
test_rebase_same_head success noop same success work same --keep-base
|
||||
test_rebase_same_head success noop same success work same --no-fork-point
|
||||
test_rebase_same_head success noop same success work same --keep-base --no-fork-point
|
||||
test_rebase_same_head success noop same success work same --fork-point master
|
||||
test_rebase_same_head success noop same success work diff --fork-point --onto B B
|
||||
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' '
|
|||
'
|
||||
|
||||
changes='our and their changes'
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B B
|
||||
test_rebase_same_head success noop same success noop-force diff --onto B... B
|
||||
test_rebase_same_head success noop same success work diff --onto B B
|
||||
test_rebase_same_head success noop same success work diff --onto B... B
|
||||
test_rebase_same_head success noop same success work diff --onto master... master
|
||||
test_rebase_same_head success noop same success work diff --keep-base master
|
||||
test_rebase_same_head success noop same success work diff --keep-base
|
||||
|
|
Загрузка…
Ссылка в новой задаче