diff options
| author | sunnymilk <shaojunyang@google.com> | 2024-08-27 17:23:10 -0400 |
|---|---|---|
| committer | Junyang Shao <shaojunyang@google.com> | 2024-09-20 19:09:41 +0000 |
| commit | 6600a871ef7376b151cb7e4073c4095209f112ca (patch) | |
| tree | 89152a85272af78bffaccdeb71acef20e3a384fc /src/testing/benchmark_test.go | |
| parent | c208b913954514ac7cab0fa701fba9c89af70392 (diff) | |
| download | go-6600a871ef7376b151cb7e4073c4095209f112ca.tar.xz | |
testing: implement testing.B.Loop
Initial implementation for testing.B.Loop,
right now the calculation of b.N are still done in the old fasion way,
as of now b.Loop is merely an alias for the old loop over b.N.
For #61515.
Change-Id: If211d0acc5f0c33df530096dceafe0b947ab0c8e
Reviewed-on: https://go-review.googlesource.com/c/go/+/608798
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Junyang Shao <shaojunyang@google.com>
Run-TryBot: Junyang Shao <shaojunyang@google.com>
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Michael Pratt <mpratt@google.com>
Diffstat (limited to 'src/testing/benchmark_test.go')
| -rw-r--r-- | src/testing/benchmark_test.go | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/testing/benchmark_test.go b/src/testing/benchmark_test.go index 66f555d1f1..b5ad213fb3 100644 --- a/src/testing/benchmark_test.go +++ b/src/testing/benchmark_test.go @@ -127,6 +127,22 @@ func TestRunParallelSkipNow(t *testing.T) { }) } +func TestLoopEqualsRangeOverBN(t *testing.T) { + // Verify that b.N and the b.Loop() iteration count match. + var nIterated, nInfered int + testing.Benchmark(func(b *testing.B) { + i := 0 + for b.Loop() { + i++ + } + nIterated = i + nInfered = b.N + }) + if nIterated != nInfered { + t.Fatalf("Iteration of the two different benchmark loop flavor differs, got %d iterations want %d", nIterated, nInfered) + } +} + func ExampleB_RunParallel() { // Parallel benchmark for text/template.Template.Execute on a single object. testing.Benchmark(func(b *testing.B) { |
