]> Cypherpunks repositories - gostls13.git/commitdiff
cmd/go: include test files in the files sent to gofmt, govet, and gofix
authorSanjay Menakuru <balasanjay@gmail.com>
Tue, 3 Jan 2012 03:12:54 +0000 (14:12 +1100)
committerAndrew Gerrand <adg@golang.org>
Tue, 3 Jan 2012 03:12:54 +0000 (14:12 +1100)
Also, add TestGoFiles to the go command's public api.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5505083

src/cmd/go/list.go
src/cmd/go/pkg.go

index 21ebb5e2009c4b4af56c2f2942cf36c29a7f3ff4..9a1a4ecb14cc3b12e29293acf4c82d439172852b 100644 (file)
@@ -36,11 +36,12 @@ being passed to the template is:
         Stale      bool   // would 'go install' do anything for this package?
 
         // Source files
-        GoFiles  []string // .go source files (excluding CgoFiles)
-        CFiles   []string // .c source files
-        HFiles   []string // .h source files
-        SFiles   []string // .s source files
-        CgoFiles []string // .go sources files that import "C"
+        GoFiles     []string // .go source files (excluding CgoFiles and TestGoFiles)
+        TestGoFiles []string // _test.go source files
+        CFiles      []string // .c source files
+        HFiles      []string // .h source files
+        SFiles      []string // .s source files
+        CgoFiles    []string // .go sources files that import "C"
 
         // Dependency information
         Imports []string // import paths used by this package
index f3f79b6a7db207e05271e6b6cee7194ebc6c6e44..d66f5242693f0f2232e99930d270021b4c2584c9 100644 (file)
@@ -29,13 +29,14 @@ type Package struct {
        Stale      bool   `json:",omitempty"` // would 'go install' do anything for this package?
 
        // Source files
-       GoFiles    []string // .go source files (excluding CgoFiles)
-       CFiles     []string `json:",omitempty"` // .c source files
-       HFiles     []string `json:",omitempty"` // .h source files
-       SFiles     []string `json:",omitempty"` // .s source files
-       CgoFiles   []string `json:",omitempty"` // .go sources files that import "C"
-       CgoCFLAGS  []string `json:",omitempty"` // cgo: flags for C compiler
-       CgoLDFLAGS []string `json:",omitempty"` // cgo: flags for linker
+       GoFiles     []string // .go source files (excluding CgoFiles and TestGoFiles)
+       TestGoFiles []string `json:",omitempty"` // _test.go source files
+       CFiles      []string `json:",omitempty"` // .c source files
+       HFiles      []string `json:",omitempty"` // .h source files
+       SFiles      []string `json:",omitempty"` // .s source files
+       CgoFiles    []string `json:",omitempty"` // .go sources files that import "C"
+       CgoCFLAGS   []string `json:",omitempty"` // cgo: flags for C compiler
+       CgoLDFLAGS  []string `json:",omitempty"` // cgo: flags for linker
 
        // Dependency information
        Imports []string `json:",omitempty"` // import paths used by this package
@@ -46,7 +47,7 @@ type Package struct {
        pkgdir  string
        info    *build.DirInfo
        imports []*Package
-       gofiles []string // GoFiles+CgoFiles, absolute paths
+       gofiles []string // GoFiles+CgoFiles+TestGoFiles files, absolute paths
        target  string   // installed file for this package (may be executable)
        fake    bool     // synthesized package
 }
@@ -126,22 +127,23 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
        }
 
        p := &Package{
-               Name:       info.Package,
-               Doc:        doc.CommentText(info.PackageComment),
-               ImportPath: importPath,
-               Dir:        dir,
-               Imports:    info.Imports,
-               GoFiles:    info.GoFiles,
-               CFiles:     info.CFiles,
-               HFiles:     info.HFiles,
-               SFiles:     info.SFiles,
-               CgoFiles:   info.CgoFiles,
-               CgoCFLAGS:  info.CgoCFLAGS,
-               CgoLDFLAGS: info.CgoLDFLAGS,
-               Standard:   t.Goroot && !strings.Contains(importPath, "."),
-               target:     target,
-               t:          t,
-               info:       info,
+               Name:        info.Package,
+               Doc:         doc.CommentText(info.PackageComment),
+               ImportPath:  importPath,
+               Dir:         dir,
+               Imports:     info.Imports,
+               GoFiles:     info.GoFiles,
+               TestGoFiles: info.TestGoFiles,
+               CFiles:      info.CFiles,
+               HFiles:      info.HFiles,
+               SFiles:      info.SFiles,
+               CgoFiles:    info.CgoFiles,
+               CgoCFLAGS:   info.CgoCFLAGS,
+               CgoLDFLAGS:  info.CgoLDFLAGS,
+               Standard:    t.Goroot && !strings.Contains(importPath, "."),
+               target:      target,
+               t:           t,
+               info:        info,
        }
 
        var built time.Time
@@ -157,7 +159,12 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
        for _, f := range info.CgoFiles {
                p.gofiles = append(p.gofiles, filepath.Join(dir, f))
        }
+       for _, f := range info.TestGoFiles {
+               p.gofiles = append(p.gofiles, filepath.Join(dir, f))
+       }
+
        sort.Strings(p.gofiles)
+
        srcss := [][]string{
                p.GoFiles,
                p.CFiles,