Skip to content

Commit

Permalink
rebase tests: repeat some tests using the merge backend instead of am
Browse files Browse the repository at this point in the history
In order to ensure the merge/interactive backend gets similar coverage
to the am one, add some tests for cases where previously only the am
backend was tested.

Signed-off-by: Elijah Newren <newren@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
  • Loading branch information
newren authored and gitster committed Feb 16, 2020
1 parent 980b482 commit 76340c8
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 4 deletions.
17 changes: 15 additions & 2 deletions t/t5520-pull.sh
Expand Up @@ -277,14 +277,27 @@ test_expect_success '--rebase' '
test_cmp expect actual
'

test_expect_success '--rebase fast forward' '
test_expect_success '--rebase (merge) fast forward' '
git reset --hard before-rebase &&
git checkout -b ff &&
echo another modification >file &&
git commit -m third file &&
git checkout to-rebase &&
git pull --rebase . ff &&
git -c rebase.backend=merge pull --rebase . ff &&
test_cmp_rev HEAD ff &&
# The above only validates the result. Did we actually bypass rebase?
git reflog -1 >reflog.actual &&
sed "s/^[0-9a-f][0-9a-f]*/OBJID/" reflog.actual >reflog.fuzzy &&
echo "OBJID HEAD@{0}: pull --rebase . ff: Fast-forward" >reflog.expected &&
test_cmp reflog.expected reflog.fuzzy
'

test_expect_success '--rebase (am) fast forward' '
git reset --hard before-rebase &&
git -c rebase.backend=am pull --rebase . ff &&
test_cmp_rev HEAD ff &&
# The above only validates the result. Did we actually bypass rebase?
Expand Down
13 changes: 11 additions & 2 deletions t/t6047-diff3-conflict-markers.sh
Expand Up @@ -186,15 +186,24 @@ test_expect_success 'check multiple merge bases' '
)
'

test_expect_success 'rebase describes fake ancestor base' '
test_expect_success 'rebase --merge describes parent of commit being picked' '
test_create_repo rebase &&
(
cd rebase &&
test_commit base file &&
test_commit master file &&
git checkout -b side HEAD^ &&
test_commit side file &&
test_must_fail git -c merge.conflictstyle=diff3 rebase master &&
test_must_fail git -c merge.conflictstyle=diff3 rebase --merge master &&
grep "||||||| parent of" file
)
'

test_expect_success 'rebase --am describes fake ancestor base' '
(
cd rebase &&
git rebase --abort &&
test_must_fail git -c merge.conflictstyle=diff3 rebase --am master &&
grep "||||||| constructed merge base" file
)
'
Expand Down

0 comments on commit 76340c8

Please sign in to comment.