OSDN Git Service

runtime: Change gc_test to test only newly allocated memory.
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2011 23:15:36 +0000 (23:15 +0000)
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 13 Dec 2011 23:15:36 +0000 (23:15 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182315 138bc75d-0d04-0410-961f-82ee72b054a4

libgo/go/runtime/gc_test.go

index fad60a3..156d3bc 100644 (file)
@@ -6,16 +6,24 @@ import (
 )
 
 func TestGcSys(t *testing.T) {
+       runtime.GC()
+       runtime.UpdateMemStats()
+       sys := runtime.MemStats.Sys
+
        for i := 0; i < 1000000; i++ {
                workthegc()
        }
 
        // Should only be using a few MB.
        runtime.UpdateMemStats()
-       sys := runtime.MemStats.Sys
-       t.Logf("using %d MB", sys>>20)
-       if sys > 10e6 {
-               t.Fatalf("using too much memory: %d MB", sys>>20)
+       if sys > runtime.MemStats.Sys {
+               sys = 0
+       } else {
+               sys = runtime.MemStats.Sys - sys
+       }
+       t.Logf("used %d extra bytes", sys)
+       if sys > 2<<20 {
+               t.Fatalf("using too much memory: %d bytes", sys)
        }
 }