Commit 2693232f authored by Sanjay Menakuru's avatar Sanjay Menakuru Committed by Andrew Gerrand

cmd/go: include external test files in the files sent to gofmt, govet, and gofix

Also, add XTestGoFiles to the go command's public api.

Fixes #2649.

R=golang-dev, adg
CC=golang-dev
https://golang.org/cl/5502102
parent 3f1eb94e
......@@ -36,12 +36,13 @@ 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 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"
GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles, and XTestGoFiles)
TestGoFiles []string // _test.go source files internal to the package they are testing
XTestGoFiles []string // _test.go source files external to the package they are testing
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
......
......@@ -29,14 +29,15 @@ type Package struct {
Stale bool `json:",omitempty"` // would 'go install' do anything for this package?
// Source files
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
GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles and XTestGoFiles)
TestGoFiles []string `json:",omitempty"` // _test.go source files internal to the package they are testing
XTestGoFiles []string `json:",omitempty"` //_test.go source files external to the package they are testing
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
......@@ -47,7 +48,7 @@ type Package struct {
pkgdir string
info *build.DirInfo
imports []*Package
gofiles []string // GoFiles+CgoFiles+TestGoFiles files, absolute paths
gofiles []string // GoFiles+CgoFiles+TestGoFiles+XTestGoFiles files, absolute paths
target string // installed file for this package (may be executable)
fake bool // synthesized package
}
......@@ -127,23 +128,24 @@ 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,
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,
Name: info.Package,
Doc: doc.CommentText(info.PackageComment),
ImportPath: importPath,
Dir: dir,
Imports: info.Imports,
GoFiles: info.GoFiles,
TestGoFiles: info.TestGoFiles,
XTestGoFiles: info.XTestGoFiles,
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
......@@ -162,6 +164,9 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
for _, f := range info.TestGoFiles {
p.gofiles = append(p.gofiles, filepath.Join(dir, f))
}
for _, f := range info.XTestGoFiles {
p.gofiles = append(p.gofiles, filepath.Join(dir, f))
}
sort.Strings(p.gofiles)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment