Skip to content

Commit 4367bb9

Browse files
authored
refactor: simplify the Packages.Errors implementation (#3344)
1 parent b16d7d2 commit 4367bb9

File tree

2 files changed

+19
-2
lines changed

2 files changed

+19
-2
lines changed

‎internal/code/packages.go‎

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,8 +231,7 @@ func (p *Packages) ModTidy() error {
231231

232232
// Errors returns any errors that were returned by Load, either from the call itself or any of the loaded packages.
233233
func (p *Packages) Errors() PkgErrors {
234-
var res []error //nolint:prealloc
235-
res = append(res, p.loadErrors...)
234+
res := append([]error{}, p.loadErrors...)
236235
for _, pkg := range p.packages {
237236
for _, err := range pkg.Errors {
238237
res = append(res, err)

‎internal/code/packages_test.go‎

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,12 @@
11
package code
22

33
import (
4+
"errors"
45
"testing"
56

67
"github.com/stretchr/testify/assert"
78
"github.com/stretchr/testify/require"
9+
"golang.org/x/tools/go/packages"
810
)
911

1012
func TestPackages(t *testing.T) {
@@ -40,6 +42,22 @@ func TestPackages(t *testing.T) {
4042
})
4143
}
4244

45+
func TestPackagesErrors(t *testing.T) {
46+
loadFirstErr := errors.New("first")
47+
loadSecondErr := errors.New("second")
48+
packageErr := packages.Error{Msg: "package"}
49+
p := &Packages{
50+
loadErrors: []error{loadFirstErr, loadSecondErr},
51+
packages: map[string]*packages.Package{"github.com/99designs/gqlgen/internal/code/testdata/a": {
52+
Errors: []packages.Error{packageErr},
53+
}},
54+
}
55+
56+
errs := p.Errors()
57+
58+
assert.Equal(t, PkgErrors([]error{loadFirstErr, loadSecondErr, packageErr}), errs)
59+
}
60+
4361
func TestNameForPackage(t *testing.T) {
4462
var p Packages
4563

0 commit comments

Comments
 (0)