From 9d296d25e269e46bff5d44d7bbceab15aceaa6a6 Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Sun, 8 May 2011 08:32:18 -0700 Subject: reflect: make allocation test less fragile. When GOMAXPROCS>1, the testing framework runs in parallel with the test itself and may do a small number of allocations, so allow the "noAllocs" condition to admit just a few. Fixes issue 1782. R=rsc CC=golang-dev http://codereview.appspot.com/4533041 --- src/pkg/reflect/all_test.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/pkg/reflect/all_test.go b/src/pkg/reflect/all_test.go index dee3f4915..e20e03f50 100644 --- a/src/pkg/reflect/all_test.go +++ b/src/pkg/reflect/all_test.go @@ -1459,7 +1459,9 @@ func noAlloc(t *testing.T, n int, f func(int)) { for j := 0; j < n; j++ { f(j) } - if runtime.MemStats.Mallocs != 0 { + // A few allocs may happen in the testing package when GOMAXPROCS > 1, so don't + // require zero mallocs. + if runtime.MemStats.Mallocs > 5 { t.Fatalf("%d mallocs after %d iterations", runtime.MemStats.Mallocs, n) } } -- cgit v1.2.1