From: Rob Pike Date: Tue, 17 May 2011 15:15:14 +0000 (-0400) Subject: reflect: make allocation test less fragile. X-Git-Tag: weekly.2011-05-22~42 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=1242c76794936f7bdd4406aa8914500eefe655d4;p=gostls13.git 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 #1782. R=rsc CC=golang-dev, rsc https://golang.org/cl/4533041 --- diff --git a/src/pkg/reflect/all_test.go b/src/pkg/reflect/all_test.go index 991d5ca8b7..c83a9b75f6 100644 --- a/src/pkg/reflect/all_test.go +++ b/src/pkg/reflect/all_test.go @@ -1451,7 +1451,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) } }