1
0
mirror of https://github.com/golang/go synced 2024-11-23 20:40:07 -07:00

runtime: only run TestMemStats sanity tests once

Fixes #22696

Change-Id: Ibe4628f71d64a2b36b655ea69710a925924b12a3
Reviewed-on: https://go-review.googlesource.com/122586
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Austin Clements <austin@google.com>
This commit is contained in:
Ian Lance Taylor 2018-07-08 16:42:33 -07:00
parent a41d21695c
commit 9b7a8aaaf3

View File

@ -19,7 +19,11 @@ import (
"unsafe" "unsafe"
) )
var testMemStatsCount int
func TestMemStats(t *testing.T) { func TestMemStats(t *testing.T) {
testMemStatsCount++
// Make sure there's at least one forced GC. // Make sure there's at least one forced GC.
GC() GC()
@ -35,6 +39,13 @@ func TestMemStats(t *testing.T) {
} }
le := func(thresh float64) func(interface{}) error { le := func(thresh float64) func(interface{}) error {
return func(x interface{}) error { return func(x interface{}) error {
// These sanity tests aren't necessarily valid
// with high -test.count values, so only run
// them once.
if testMemStatsCount > 1 {
return nil
}
if reflect.ValueOf(x).Convert(reflect.TypeOf(thresh)).Float() < thresh { if reflect.ValueOf(x).Convert(reflect.TypeOf(thresh)).Float() < thresh {
return nil return nil
} }