-
Russ Cox authored
Before: $ go test -c -cover fmt $ ./fmt.test -test.covermode=set PASS coverage: 65.1% of statements in strconv $ After: $ go test -c -cover fmt $ ./fmt.test PASS coverage: 65.1% of statements in strconv $ In addition to being cumbersome, the old flag didn't make sense: the cover mode cannot be changed after the binary has been built. Another useful effect of this CL is that if you happen to do $ go test -c -covermode=atomic fmt and then forget you did that and run benchmarks, the final line of the output (the coverage summary) reminds you that you are benchmarking with coverage enabled, which might not be what you want. $ ./fmt.test -test.bench . PASS BenchmarkSprintfEmpty 10000000 217 ns/op BenchmarkSprintfString 2000000 755 ns/op BenchmarkSprintfInt 2000000 774 ns/op BenchmarkSprintfIntInt 1000000 1363 ns/op BenchmarkSprintfPrefixedInt 1000000 1501 ns/op BenchmarkSprintfFloat 1000000 1257 ns/op BenchmarkManyArgs 500000 5346 ns/op BenchmarkScanInts 1000 2562402 ns/op BenchmarkScanRecursiveInt 500 3189457 ns/op coverage: 91.4% of statements $ As part of passing the new mode setting in via _testmain.go, merge the two registration mechanisms into one extensible mechanism (a struct). R=r CC=golang-dev https://golang.org/cl/11219043
ccc45534