diff --git a/go/packages/golist.go b/go/packages/golist.go index a1e9c320..ce4e1ed9 100644 --- a/go/packages/golist.go +++ b/go/packages/golist.go @@ -131,7 +131,6 @@ extractQueries: return nil, err } response.Roots = append(response.Roots, namedResults...) - return response, nil } diff --git a/go/packages/golist_fallback.go b/go/packages/golist_fallback.go index ac0c34f0..09894016 100644 --- a/go/packages/golist_fallback.go +++ b/go/packages/golist_fallback.go @@ -246,11 +246,6 @@ func golistDriverFallback(cfg *Config, words ...string) (*driverResponse, error) createTestVariants(&response, v.pkg, v.xtestPkg) } - // TODO(matloob): Is this the right ordering? - sort.SliceStable(response.Packages, func(i, j int) bool { - return response.Packages[i].PkgPath < response.Packages[j].PkgPath - }) - return &response, nil } diff --git a/go/packages/packages.go b/go/packages/packages.go index 84a3dbb1..ae70c22b 100644 --- a/go/packages/packages.go +++ b/go/packages/packages.go @@ -20,6 +20,7 @@ import ( "os" "path/filepath" "runtime" + "sort" "strings" "sync" @@ -173,6 +174,7 @@ func Load(cfg *Config, patterns ...string) ([]*Package, error) { if err != nil { return nil, err } + sort.Strings(response.Roots) // make all driver responses deterministic return l.refine(response.Roots, response.Packages...) } diff --git a/go/packages/packages_test.go b/go/packages/packages_test.go index 778d631a..8fc514c7 100644 --- a/go/packages/packages_test.go +++ b/go/packages/packages_test.go @@ -298,8 +298,9 @@ func TestLoadAbsolutePath(t *testing.T) { for _, p := range initial { got = append(got, p.ID) } - if !reflect.DeepEqual(got, []string{"golang.org/gopatha/a", "golang.org/gopathb/b"}) { - t.Fatalf("initial packages loaded: got [%s], want [a b]", got) + want := []string{"golang.org/gopatha/a", "golang.org/gopathb/b"} + if !reflect.DeepEqual(got, want) { + t.Fatalf("initial packages loaded: got [%s], want [%s]", got, want) } }