Commit 6833d1b4 authored by Rob Pike's avatar Rob Pike

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
parent 1116f74e
......@@ -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.
......
......@@ -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,
......
......@@ -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 == "" {
......
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