mirror of
https://github.com/go-gitea/gitea.git
synced 2026-08-01 17:34:22 +00:00
b06002f449
1. simplify "StorageRepo" code 2. simplify git.OpenRepository code 3. by the way, clean up some unused files in git test fixtures.
55 lines
1.7 KiB
Go
55 lines
1.7 KiB
Go
// Copyright 2026 The Gitea Authors. All rights reserved.
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
//go:build !gogit
|
|
|
|
package git
|
|
|
|
import (
|
|
"context"
|
|
"path/filepath"
|
|
"testing"
|
|
|
|
"gitea.dev/modules/test"
|
|
"gitea.dev/modules/util"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestEntries_GetCommitsInfo_ContextErr(t *testing.T) {
|
|
repo, err := OpenRepositoryLocal(filepath.Join(testReposDir, "repo1_bare"))
|
|
require.NoError(t, err)
|
|
defer repo.Close()
|
|
|
|
commit, err := repo.GetCommit(t.Context(), "feaf4ba6bc635fec442f46ddd4512416ec43c2c2")
|
|
require.NoError(t, err)
|
|
entries, err := commit.Tree().ListEntries(t.Context(), repo)
|
|
require.NoError(t, err)
|
|
|
|
countCommitInfosCommit := func(infos []CommitInfo) (nilCommits, nonNilCommits int) {
|
|
for _, info := range infos {
|
|
nilCommits += util.Iif(info.Commit == nil, 1, 0)
|
|
nonNilCommits += util.Iif(info.Commit != nil, 1, 0)
|
|
}
|
|
return nilCommits, nonNilCommits
|
|
}
|
|
|
|
ctx, cancel := context.WithCancel(t.Context())
|
|
defer test.MockVariableValue(&walkGitLogDebugBeforeNext)()
|
|
|
|
walkGitLogDebugBeforeNext = cancel
|
|
commitInfos, _, err := entries.GetCommitsInfo(ctx, "/any/repo-link", repo, commit, "")
|
|
assert.NoError(t, err)
|
|
nilCommits, nonNilCommits := countCommitInfosCommit(commitInfos)
|
|
assert.Equal(t, 0, nonNilCommits) // no commit info due to canceled (or deadline-exceeded) context
|
|
assert.Equal(t, 3, nilCommits)
|
|
|
|
walkGitLogDebugBeforeNext = nil
|
|
commitInfos, _, err = entries.GetCommitsInfo(t.Context(), "/any/repo-link", repo, commit, "")
|
|
assert.NoError(t, err)
|
|
nilCommits, nonNilCommits = countCommitInfosCommit(commitInfos)
|
|
assert.Equal(t, 3, nonNilCommits)
|
|
assert.Equal(t, 0, nilCommits)
|
|
}
|