]> Cypherpunks repositories - gostls13.git/commitdiff
[release-branch.go1.10] cmd/go: run vet on packages with only cgo files
authorIan Lance Taylor <iant@golang.org>
Wed, 7 Mar 2018 15:03:46 +0000 (07:03 -0800)
committerAndrew Bonventre <andybons@golang.org>
Thu, 29 Mar 2018 06:07:50 +0000 (06:07 +0000)
CgoFiles is not included in GoFiles, so we need to check both.

Fixes #24193

Change-Id: I6a67bd912e3d9a4be0eae8fa8db6fa8a07fb5df3
Reviewed-on: https://go-review.googlesource.com/99175
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-on: https://go-review.googlesource.com/102785
Run-TryBot: Andrew Bonventre <andybons@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/cmd/go/go_test.go
src/cmd/go/internal/vet/vet.go

index 773b8240d27578519712a38d200dcf910babc3bc..63974ea0cf2ce7a67e369a3b5081f90e70ba6c43 100644 (file)
@@ -3233,6 +3233,16 @@ func TestGoVetWithOnlyTestFiles(t *testing.T) {
        tg.run("vet", "p")
 }
 
+// Issue 24193.
+func TestVetWithOnlyCgoFiles(t *testing.T) {
+       tg := testgo(t)
+       defer tg.cleanup()
+       tg.parallel()
+       tg.tempFile("src/p/p.go", "package p; import \"C\"; func F() {}")
+       tg.setenv("GOPATH", tg.path("."))
+       tg.run("vet", "p")
+}
+
 // Issue 9767, 19769.
 func TestGoGetDotSlashDownload(t *testing.T) {
        testenv.MustHaveExternalNetwork(t)
index 3d095d450871d0784a200bdef4d2190309fff404..c792a243bf7285ee03ff36870963d03ed2f37042 100644 (file)
@@ -62,11 +62,11 @@ func runVet(cmd *base.Command, args []string) {
                        base.Errorf("%v", err)
                        continue
                }
-               if len(ptest.GoFiles) == 0 && pxtest == nil {
+               if len(ptest.GoFiles) == 0 && len(ptest.CgoFiles) == 0 && pxtest == nil {
                        base.Errorf("go vet %s: no Go files in %s", p.ImportPath, p.Dir)
                        continue
                }
-               if len(ptest.GoFiles) > 0 {
+               if len(ptest.GoFiles) > 0 || len(ptest.CgoFiles) > 0 {
                        root.Deps = append(root.Deps, b.VetAction(work.ModeBuild, work.ModeBuild, ptest))
                }
                if pxtest != nil {