Commit 1329d044 authored by Keith Randall's avatar Keith Randall

runtime: fix stack memory test

Stand-alone this test is fine.  Run together with
others, however, the stack used can actually go
negative because other tests are freeing stack
during its execution.

This behavior is new with the new stack allocator.
The old allocator never returned (min-sized) stacks.

This test is fairly poor - it needs to run in
isolation to be accurate.  Maybe we should delete it.

LGTM=r
R=r
CC=golang-codereviews
https://golang.org/cl/119330044
parent aff7883d
...@@ -106,9 +106,9 @@ func TestStackMem(t *testing.T) { ...@@ -106,9 +106,9 @@ func TestStackMem(t *testing.T) {
} }
s1 := new(MemStats) s1 := new(MemStats)
ReadMemStats(s1) ReadMemStats(s1)
consumed := s1.StackSys - s0.StackSys consumed := int64(s1.StackSys - s0.StackSys)
t.Logf("Consumed %vMB for stack mem", consumed>>20) t.Logf("Consumed %vMB for stack mem", consumed>>20)
estimate := uint64(8 * BatchSize * ArraySize * RecursionDepth) // 8 is to reduce flakiness. estimate := int64(8 * BatchSize * ArraySize * RecursionDepth) // 8 is to reduce flakiness.
if consumed > estimate { if consumed > estimate {
t.Fatalf("Stack mem: want %v, got %v", estimate, consumed) t.Fatalf("Stack mem: want %v, got %v", estimate, consumed)
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment