mirror of https://github.com/golang/go.git
cmd/go: skip vet when package cannot be build under "go test/vet"
If the the package cannot be built, "go test" and "go vet" should not run the "vet" tool. In that case only errors from the compilers will be displayed. Fixes #26125 Change-Id: I5da6ba64bae5f44feaf5bd4e765eea85533cddd4 Reviewed-on: https://go-review.googlesource.com/123938 Run-TryBot: Yury Smolsky <yury@smolsky.by> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Bryan C. Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
0ba03b8f42
commit
ad705baafd
|
|
@ -5526,6 +5526,21 @@ func TestTestVet(t *testing.T) {
|
|||
tg.grepStderrNot(`invalid.*constraint`, "did diagnose bad build constraint in vetxonly mode")
|
||||
}
|
||||
|
||||
func TestTestSkipVetAfterFailedBuild(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
tg.parallel()
|
||||
|
||||
tg.tempFile("x_test.go", `package x
|
||||
func f() {
|
||||
return 1
|
||||
}
|
||||
`)
|
||||
|
||||
tg.runFail("test", tg.path("x_test.go"))
|
||||
tg.grepStderrNot(`vet`, "vet should be skipped after the failed build")
|
||||
}
|
||||
|
||||
func TestTestVetRebuild(t *testing.T) {
|
||||
tg := testgo(t)
|
||||
defer tg.cleanup()
|
||||
|
|
|
|||
|
|
@ -915,13 +915,17 @@ func (b *Builder) vet(a *Action) error {
|
|||
|
||||
a.Failed = false // vet of dependency may have failed but we can still succeed
|
||||
|
||||
if a.Deps[0].Failed {
|
||||
// The build of the package has failed. Skip vet check.
|
||||
// Vet could return export data for non-typecheck errors,
|
||||
// but we ignore it because the package cannot be compiled.
|
||||
return nil
|
||||
}
|
||||
|
||||
vcfg := a.Deps[0].vetCfg
|
||||
if vcfg == nil {
|
||||
// Vet config should only be missing if the build failed.
|
||||
if !a.Deps[0].Failed {
|
||||
return fmt.Errorf("vet config not found")
|
||||
}
|
||||
return nil
|
||||
return fmt.Errorf("vet config not found")
|
||||
}
|
||||
|
||||
vcfg.VetxOnly = a.VetxOnly
|
||||
|
|
|
|||
Loading…
Reference in New Issue