From: Fedor Korotkiy Date: Thu, 28 Feb 2019 12:35:30 +0000 (+0300) Subject: cmd/go: PackageVetx in vet.cfg should list only immediate dependencies. X-Git-Tag: go1.13beta1~677 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1eed2a5ab299807341af05eca2a829d95f08c6e8;p=gostls13.git cmd/go: PackageVetx in vet.cfg should list only immediate dependencies. Updates #30296 Change-Id: Ifea1a4c82c1c5b31fdc2e96fdbb1274748c8f50e Reviewed-on: https://go-review.googlesource.com/c/go/+/164459 Reviewed-by: Bryan C. Mills --- diff --git a/src/cmd/go/internal/work/action.go b/src/cmd/go/internal/work/action.go index 052811d34a..0232c45ebe 100644 --- a/src/cmd/go/internal/work/action.go +++ b/src/cmd/go/internal/work/action.go @@ -423,7 +423,7 @@ func (b *Builder) vetAction(mode, depMode BuildMode, p *load.Package) *Action { } else { deps = []*Action{a1, aFmt} } - for _, p1 := range load.PackageList(p.Internal.Imports) { + for _, p1 := range p.Internal.Imports { deps = append(deps, b.vetAction(mode, depMode, p1)) } diff --git a/src/cmd/go/testdata/script/vet_deps.txt b/src/cmd/go/testdata/script/vet_deps.txt new file mode 100644 index 0000000000..b2a8f168b3 --- /dev/null +++ b/src/cmd/go/testdata/script/vet_deps.txt @@ -0,0 +1,34 @@ +env GO111MODULE=off + +# Issue 30296. Verify that "go vet" uses only immediate dependencies. + +# First run fills the cache. +go vet a + +go vet -x a +! stderr 'transitive' + +-- a/a.go -- +package a + +import "b" + +func F() { + b.F() +} + +-- b/b.go -- +package b + +import "transitive" + +func F() { + transitive.F() +} + +-- transitive/c.go -- +package transitive + +func F() { +} +