aboutsummaryrefslogtreecommitdiff
path: root/src/cmd
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2013-09-06 15:54:26 +1000
committerRob Pike <r@golang.org>2013-09-06 15:54:26 +1000
commit6833d1b43643d8102be45cb6b4ee5912cafed8e7 (patch)
tree2bb6544a8d74099b86bddd0d63fbf21681c8951c /src/cmd
parent1116f74e08a8ccd551830c239c3ee20668ad2c5f (diff)
downloadgo-6833d1b43643d8102be45cb6b4ee5912cafed8e7.tar.xz
cmd/go: don't leave test binary around for coverage
It's not needed to analyze coverage data. Fixes #6120 R=golang-dev, adg CC=golang-dev https://golang.org/cl/13343050
Diffstat (limited to 'src/cmd')
-rw-r--r--src/cmd/go/doc.go9
-rw-r--r--src/cmd/go/test.go7
-rw-r--r--src/cmd/go/testflag.go1
3 files changed, 11 insertions, 6 deletions
diff --git a/src/cmd/go/doc.go b/src/cmd/go/doc.go
index 2fd5d79e7a..7af623ae1b 100644
--- a/src/cmd/go/doc.go
+++ b/src/cmd/go/doc.go
@@ -269,7 +269,7 @@ List packages
Usage:
- go list [-e] [-f format] [-json] [-tags 'tag list'] [packages]
+ go list [-e] [-race] [-f format] [-json] [-tags 'tag list'] [packages]
List lists the packages named by the import paths, one per line.
@@ -345,6 +345,9 @@ a non-nil Error field; other information may or may not be missing
The -tags flag specifies a list of build tags, like in the 'go build'
command.
+The -race flag causes the package data to include the dependencies
+required by the race detector.
+
For more about specifying packages, see 'go help packages'.
@@ -809,8 +812,8 @@ will compile the test binary and then run it as
pkg.test -test.v -test.cpuprofile=prof.out -dir=testdata -update
-The test flags that generate profiles also leave the test binary in pkg.test
-for use when analyzing the profiles.
+The test flags that generate profiles (other than for coverage) also
+leave the test binary in pkg.test for use when analyzing the profiles.
Flags not recognized by 'go test' must be placed after any specified packages.
diff --git a/src/cmd/go/test.go b/src/cmd/go/test.go
index 002758c3b1..2d5557e65e 100644
--- a/src/cmd/go/test.go
+++ b/src/cmd/go/test.go
@@ -213,8 +213,8 @@ will compile the test binary and then run it as
pkg.test -test.v -test.cpuprofile=prof.out -dir=testdata -update
-The test flags that generate profiles also leave the test binary in pkg.test
-for use when analyzing the profiles.
+The test flags that generate profiles (other than for coverage) also
+leave the test binary in pkg.test for use when analyzing the profiles.
Flags not recognized by 'go test' must be placed after any specified packages.
`,
@@ -272,6 +272,7 @@ var (
testCoverPaths []string // -coverpkg flag
testCoverPkgs []*Package // -coverpkg flag
testProfile bool // some profiling flag
+ testNeedBinary bool // profile needs to keep binary around
testI bool // -i flag
testV bool // -v flag
testFiles []string // -file flag(s) TODO: not respected
@@ -728,7 +729,7 @@ func (b *builder) test(p *Package) (buildAction, runAction, printAction *action,
a.target = filepath.Join(testDir, testBinary) + exeSuffix
pmainAction := a
- if testC || testProfile {
+ if testC || testNeedBinary {
// -c or profiling flag: create action to copy binary to ./test.out.
runAction = &action{
f: (*builder).install,
diff --git a/src/cmd/go/testflag.go b/src/cmd/go/testflag.go
index 1e0724a993..d931d35b6a 100644
--- a/src/cmd/go/testflag.go
+++ b/src/cmd/go/testflag.go
@@ -181,6 +181,7 @@ func testFlags(args []string) (packageNames, passToTest []string) {
testTimeout = value
case "blockprofile", "cpuprofile", "memprofile":
testProfile = true
+ testNeedBinary = true
case "coverpkg":
testCover = true
if value == "" {