diff options
Diffstat (limited to 'src/testing/testing.go')
| -rw-r--r-- | src/testing/testing.go | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/testing/testing.go b/src/testing/testing.go index 81268ec61f..7e86faf950 100644 --- a/src/testing/testing.go +++ b/src/testing/testing.go @@ -372,6 +372,7 @@ import ( "errors" "flag" "fmt" + "internal/goexperiment" "internal/race" "io" "math/rand" @@ -420,6 +421,7 @@ func Init() { chatty = flag.Bool("test.v", false, "verbose: print additional output") count = flag.Uint("test.count", 1, "run tests and benchmarks `n` times") coverProfile = flag.String("test.coverprofile", "", "write a coverage profile to `file`") + gocoverdir = flag.String("test.gocoverdir", "", "write coverage intermediate files to this directory") matchList = flag.String("test.list", "", "list tests, examples, and benchmarks matching `regexp` then exit") match = flag.String("test.run", "", "run only tests and examples matching `regexp`") skip = flag.String("test.skip", "", "do not list or run tests matching `regexp`") @@ -450,6 +452,7 @@ var ( chatty *bool count *uint coverProfile *string + gocoverdir *string matchList *string match *string skip *string @@ -578,6 +581,9 @@ func Short() bool { // values are "set", "count", or "atomic". The return value will be // empty if test coverage is not enabled. func CoverMode() string { + if goexperiment.CoverageRedesign { + return cover2.mode + } return cover.Mode } @@ -1942,10 +1948,14 @@ func (m *M) before() { if *mutexProfile != "" && *mutexProfileFraction >= 0 { runtime.SetMutexProfileFraction(*mutexProfileFraction) } - if *coverProfile != "" && cover.Mode == "" { + if *coverProfile != "" && CoverMode() == "" { fmt.Fprintf(os.Stderr, "testing: cannot use -test.coverprofile because test binary was not built with coverage enabled\n") os.Exit(2) } + if *gocoverdir != "" && CoverMode() == "" { + fmt.Fprintf(os.Stderr, "testing: cannot use -test.gocoverdir because test binary was not built with coverage enabled\n") + os.Exit(2) + } if *testlog != "" { // Note: Not using toOutputDir. // This file is for use by cmd/go, not users. @@ -2039,7 +2049,7 @@ func (m *M) writeProfiles() { } f.Close() } - if cover.Mode != "" { + if CoverMode() != "" { coverReport() } } |
