test: consolidate Go tests (#39962)

Consolidate all Go tests. Coverage is identical to before. Go tests are
around 5% faster while being 7% smaller. No non-test code is touched.
This commit is contained in:
silverwind authored and GitHub committed 2026-10-24 13:48:19 +00:00
1 parent ce7364e215
commit 8abda62312
388 files changed
+18410 -29561

No files matched your search

+15 -25
View File
@@ -46,32 +46,22 @@ func TestFollowLink(t *testing.T) {
assert.Nil(t, res)
}
{
// should error for broken links
entry, err := commit.Tree().GetTreeEntryByPath(t.Context(), r, "foo/broken_link")
for _, test := range []struct {
fullPath string
symlinkContent string
checkLink bool
}{
{"foo/broken_link", "nar/broken_link", true}, // should error for broken links
{"foo/outside_repo", "../../outside_repo", true}, // should error for external links
{"foo/link_short", "a", false}, // testing fix for short link bug
} {
entry, err := commit.Tree().GetTreeEntryByPath(t.Context(), r, test.fullPath)
require.NoError(t, err)
assert.True(t, entry.IsLink())
res, err := EntryFollowLink(t.Context(), r, commit, "foo/broken_link", entry)
if test.checkLink {
assert.True(t, entry.IsLink())
}
res, err := EntryFollowLink(t.Context(), r, commit, test.fullPath, entry)
assert.ErrorIs(t, err, util.ErrNotExist)
assert.Equal(t, "nar/broken_link", res.SymlinkContent)
}
{
// should error for external links
entry, err := commit.Tree().GetTreeEntryByPath(t.Context(), r, "foo/outside_repo")
require.NoError(t, err)
assert.True(t, entry.IsLink())
res, err := EntryFollowLink(t.Context(), r, commit, "foo/outside_repo", entry)
assert.ErrorIs(t, err, util.ErrNotExist)
assert.Equal(t, "../../outside_repo", res.SymlinkContent)
}
{
// testing fix for short link bug
entry, err := commit.Tree().GetTreeEntryByPath(t.Context(), r, "foo/link_short")
require.NoError(t, err)
res, err := EntryFollowLink(t.Context(), r, commit, "foo/link_short", entry)
assert.ErrorIs(t, err, util.ErrNotExist)
assert.Equal(t, "a", res.SymlinkContent)
assert.Equal(t, test.symlinkContent, res.SymlinkContent)
}
}