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,8 +36,9 @@ being passed to the template is: ...@@ -36,8 +36,9 @@ being passed to the template is:
Stale bool // would 'go install' do anything for this package? Stale bool // would 'go install' do anything for this package?
// Source files // Source files
GoFiles []string // .go source files (excluding CgoFiles and TestGoFiles) GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles, and XTestGoFiles)
TestGoFiles []string // _test.go source files 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 CFiles []string // .c source files
HFiles []string // .h source files HFiles []string // .h source files
SFiles []string // .s source files SFiles []string // .s source files
......
...@@ -29,8 +29,9 @@ type Package struct { ...@@ -29,8 +29,9 @@ type Package struct {
Stale bool `json:",omitempty"` // would 'go install' do anything for this package? Stale bool `json:",omitempty"` // would 'go install' do anything for this package?
// Source files // Source files
GoFiles []string // .go source files (excluding CgoFiles and TestGoFiles) GoFiles []string // .go source files (excluding CgoFiles, TestGoFiles and XTestGoFiles)
TestGoFiles []string `json:",omitempty"` // _test.go source files 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 CFiles []string `json:",omitempty"` // .c source files
HFiles []string `json:",omitempty"` // .h source files HFiles []string `json:",omitempty"` // .h source files
SFiles []string `json:",omitempty"` // .s source files SFiles []string `json:",omitempty"` // .s source files
...@@ -47,7 +48,7 @@ type Package struct { ...@@ -47,7 +48,7 @@ type Package struct {
pkgdir string pkgdir string
info *build.DirInfo info *build.DirInfo
imports []*Package 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) target string // installed file for this package (may be executable)
fake bool // synthesized package fake bool // synthesized package
} }
...@@ -134,6 +135,7 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string ...@@ -134,6 +135,7 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
Imports: info.Imports, Imports: info.Imports,
GoFiles: info.GoFiles, GoFiles: info.GoFiles,
TestGoFiles: info.TestGoFiles, TestGoFiles: info.TestGoFiles,
XTestGoFiles: info.XTestGoFiles,
CFiles: info.CFiles, CFiles: info.CFiles,
HFiles: info.HFiles, HFiles: info.HFiles,
SFiles: info.SFiles, SFiles: info.SFiles,
...@@ -162,6 +164,9 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string ...@@ -162,6 +164,9 @@ func scanPackage(ctxt *build.Context, t *build.Tree, arg, importPath, dir string
for _, f := range info.TestGoFiles { for _, f := range info.TestGoFiles {
p.gofiles = append(p.gofiles, filepath.Join(dir, f)) 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) 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