From 8bc9c57b186043ccbd23ab73ff14553a9c173729 Mon Sep 17 00:00:00 2001 From: Marcel van Lohuizen Date: Mon, 4 Apr 2016 19:05:48 +0200 Subject: [PATCH] testing: unflake TestBRun by only testing the lower bound of memalloc Fixes #15063 Change-Id: Iab2fdd75e9ce98c641bfbce57f142fa47176772d Reviewed-on: https://go-review.googlesource.com/21507 Reviewed-by: Brad Fitzpatrick Run-TryBot: Marcel van Lohuizen --- src/testing/sub_test.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/testing/sub_test.go b/src/testing/sub_test.go index 2d7edd3450..264d77c2cf 100644 --- a/src/testing/sub_test.go +++ b/src/testing/sub_test.go @@ -384,10 +384,14 @@ func TestBRun(t *T) { } b.Run("", func(b *B) { alloc(b) }) b.Run("", func(b *B) { alloc(b) }) - if got := b.result.MemAllocs; got != 2 { + // runtime.MemStats sometimes reports more allocations than the + // benchmark is responsible for. Luckily the point of this test is + // to ensure that the results are not underreported, so we can + // simply verify the lower bound. + if got := b.result.MemAllocs; got < 2 { t.Errorf("MemAllocs was %v; want 2", got) } - if got := b.result.MemBytes; got != 2*bufSize { + if got := b.result.MemBytes; got < 2*bufSize { t.Errorf("MemBytes was %v; want %v", got, 2*bufSize) } }, -- 2.48.1