• Russ Cox's avatar
    testing: harmonize handling of prefix-matched benchmarks · a2a3ace5
    Russ Cox authored
    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: 's avatarMarcel van Lohuizen <mpvl@golang.org>
    a2a3ace5
benchmark.go 18.7 KB