From c4971a14a7cac78849f4d0908e7140263129bdf7 Mon Sep 17 00:00:00 2001 From: Emmanuel T Odeke Date: Thu, 24 Sep 2020 15:33:45 -0700 Subject: [PATCH] testing: add benchmark for TB.Helper Adds a benchmark for TB.Helper, to use as a judge of future improvements like CL 231717. Change-Id: I17c40d482fc12caa3eb2c1cda39fd8c42356b422 Reviewed-on: https://go-review.googlesource.com/c/go/+/257317 Run-TryBot: Emmanuel Odeke TryBot-Result: Go Bot Reviewed-by: Tobias Klauser Trust: Tobias Klauser Trust: Emmanuel Odeke --- src/testing/helper_test.go | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/testing/helper_test.go b/src/testing/helper_test.go index 7ce58c67fb..8858196cf0 100644 --- a/src/testing/helper_test.go +++ b/src/testing/helper_test.go @@ -70,3 +70,34 @@ func TestTBHelperParallel(t *T) { t.Errorf("got output line %q; want %q", got, want) } } + +type noopWriter int + +func (nw *noopWriter) Write(b []byte) (int, error) { return len(b), nil } + +func BenchmarkTBHelper(b *B) { + w := noopWriter(0) + ctx := newTestContext(1, newMatcher(regexp.MatchString, "", "")) + t1 := &T{ + common: common{ + signal: make(chan bool), + w: &w, + }, + context: ctx, + } + f1 := func() { + t1.Helper() + } + f2 := func() { + t1.Helper() + } + b.ResetTimer() + b.ReportAllocs() + for i := 0; i < b.N; i++ { + if i&1 == 0 { + f1() + } else { + f2() + } + } +} -- 2.50.0