From: Marcel van Lohuizen Date: Fri, 18 Mar 2016 15:43:43 +0000 (+0100) Subject: testing: always ignore RunParallel in probe phase X-Git-Tag: go1.7beta1~1227 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f39d6d961383ab0325ad1ca32372b82e0e667863;p=gostls13.git testing: always ignore RunParallel in probe phase Change-Id: If45410a2d7e48d1c9e6800cd98f81dd89024832c Reviewed-on: https://go-review.googlesource.com/20852 Reviewed-by: Russ Cox --- diff --git a/src/testing/benchmark.go b/src/testing/benchmark.go index ef16963401..3e85392d03 100644 --- a/src/testing/benchmark.go +++ b/src/testing/benchmark.go @@ -535,8 +535,11 @@ func (pb *PB) Next() bool { // The body function will be run in each goroutine. It should set up any // goroutine-local state and then iterate until pb.Next returns false. // It should not use the StartTimer, StopTimer, or ResetTimer functions, -// because they have global effect. +// because they have global effect. It should also not call Run. func (b *B) RunParallel(body func(*PB)) { + if b.N == 0 { + return // Nothing to do when probing. + } // Calculate grain size as number of iterations that take ~100µs. // 100µs is enough to amortize the overhead and provide sufficient // dynamic load balancing.