aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Pike <r@golang.org>2011-05-08 08:32:18 -0700
committerRob Pike <r@golang.org>2011-05-08 08:32:18 -0700
commitc57f672d63d0e13a980def455837043145176451 (patch)
tree3b8157f84e7a18a16c97f8645e98ccbd4f104890
parent16b4a007de329b96411be1597ea70f805b6adbe7 (diff)
downloadgo-c57f672d63d0e13a980def455837043145176451.tar.gz
go-c57f672d63d0e13a980def455837043145176451.zip
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 https://golang.org/cl/4533041
-rw-r--r--src/pkg/reflect/all_test.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/reflect/all_test.go b/src/pkg/reflect/all_test.go
index dee3f4915b..e20e03f501 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)
}
}