]> Cypherpunks.ru repositories - gostls13.git/commit
testing: harmonize handling of prefix-matched benchmarks
authorRuss Cox <rsc@golang.org>
Fri, 16 Jun 2017 18:46:24 +0000 (14:46 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 20 Jun 2017 14:19:05 +0000 (14:19 +0000)
commita2a3ace51aa0600765d44a71f47fd830fa6217c5
treea26628d8938b71fcd9132f9f10a6c6d7931059d6
parentbe855e3f28507dd3e34eb4699c84493eeaae68db
testing: harmonize handling of prefix-matched benchmarks

If you have BenchmarkX1 with sub-benchmark Y
and you have BenchmarkX2 with no sub-benchmarks,
then

go test -bench=X/Y

runs BenchmarkX1 once with b.N=1 (to find out about Y)
and then not again, because it has sub-benchmarks,
but arguably also because we're interested in Y.

In contrast, it runs BenchmarkX2 in full, even though clearly
that is not relevant to the match X/Y. We do have to run X2
once with b.N=1 to probe for having X2/Y, but we should not
run it with larger b.N.

Fixes #20589.

Change-Id: Ib86907e844f34dcaac6cd05757f57db1019201d0
Reviewed-on: https://go-review.googlesource.com/46031
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Marcel van Lohuizen <mpvl@golang.org>
src/cmd/go/go_test.go
src/cmd/go/testdata/src/testregexp/x_test.go [new file with mode: 0644]
src/cmd/go/testdata/src/testregexp/z_test.go [new file with mode: 0644]
src/testing/benchmark.go
src/testing/match.go
src/testing/match_test.go
src/testing/sub_test.go
src/testing/testing.go