diff options
author | Toon Claes <toon@gitlab.com> | 2021-04-01 16:09:17 +0300 |
---|---|---|
committer | Toon Claes <toon@gitlab.com> | 2021-04-22 15:55:19 +0300 |
commit | 32576c95c320a45ea873c67f36bf755b3b26a151 (patch) | |
tree | c6b88e100d7ccdbb24529498acde8d2d953e8c98 | |
parent | e660ef8ea350f695e13b10ec254f14e7131c3ba2 (diff) |
gitaly-git2go: Test a few rebase error examples
This change adds a few examples to test rebase in error situations.
-rw-r--r-- | cmd/gitaly-git2go/rebase_test.go | 35 |
1 files changed, 25 insertions, 10 deletions
diff --git a/cmd/gitaly-git2go/rebase_test.go b/cmd/gitaly-git2go/rebase_test.go index 899aaed63..afa703793 100644 --- a/cmd/gitaly-git2go/rebase_test.go +++ b/cmd/gitaly-git2go/rebase_test.go @@ -72,6 +72,7 @@ func TestRebase_rebase(t *testing.T) { commitsAhead int setupRepo func(testing.TB, *git.Repository) expected string + expectedErr string }{ { desc: "Single commit rebase", @@ -114,6 +115,16 @@ func TestRebase_rebase(t *testing.T) { commitsAhead: 1, expected: "591b29084164bcc58fa4fb851a3c409290b17bfe", }, + { + desc: "Rebase with conflict", + branch: "rebase-encoding-failure-trigger", + expectedErr: "rebase: commit \"eb8f5fb9523b868cef583e09d4bf70b99d2dd404\": conflicts have not been resolved", + }, + { + desc: "Orphaned branch", + branch: "orphaned-branch", + expectedErr: "rebase: find merge base: no merge base found", + }, } for _, tc := range testcases { @@ -143,20 +154,24 @@ func TestRebase_rebase(t *testing.T) { } response, err := request.Run(ctx, cfg) - require.NoError(t, err) + if tc.expectedErr != "" { + require.EqualError(t, err, tc.expectedErr) + } else { + require.NoError(t, err) - result := response.String() - require.Equal(t, tc.expected, result) + result := response.String() + require.Equal(t, tc.expected, result) - commit, err := lookupCommit(repo, result) - require.NoError(t, err) + commit, err := lookupCommit(repo, result) + require.NoError(t, err) - for i := tc.commitsAhead; i > 0; i-- { - commit = commit.Parent(0) + for i := tc.commitsAhead; i > 0; i-- { + commit = commit.Parent(0) + } + masterCommit, err := lookupCommit(repo, "master") + require.NoError(t, err) + require.Equal(t, masterCommit, commit) } - masterCommit, err := lookupCommit(repo, "master") - require.NoError(t, err) - require.Equal(t, masterCommit, commit) }) } } |