]> Cypherpunks repositories - gostls13.git/commitdiff
reflect: make allocation test less fragile.
authorRob Pike <r@golang.org>
Tue, 17 May 2011 15:15:14 +0000 (11:15 -0400)
committerRuss Cox <rsc@golang.org>
Tue, 17 May 2011 15:15:14 +0000 (11:15 -0400)
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

src/pkg/reflect/all_test.go

index 991d5ca8b7fd7c29402f06487f4122e6cdfca223..c83a9b75f637805583a60df62685be7b3a825595 100644 (file)
@@ -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)
        }
 }