summary refs log tree commit diff stats
path: root/tests/gc
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2013-02-07 16:09:46 +0100
committerAraq <rumpf_a@web.de>2013-02-07 16:09:46 +0100
commit4ee9816a7888f8f125752d75f8528c39c94d732b (patch)
tree0d2c8c823bd5a2663a721f4330a14175dc8f2851 /tests/gc
parentab6f793408c10935bad98071bdae4009f6873d5c (diff)
downloadNim-4ee9816a7888f8f125752d75f8528c39c94d732b.tar.gz
code cleanup for mark&sweep GC
Diffstat (limited to 'tests/gc')
-rwxr-xr-xtests/gc/gcleak.nim4
-rwxr-xr-xtests/gc/gcleak2.nim4
-rw-r--r--tests/gc/weakrefs.nim2
3 files changed, 8 insertions, 2 deletions
diff --git a/tests/gc/gcleak.nim b/tests/gc/gcleak.nim
index c40c6b3b5..4e47db609 100755
--- a/tests/gc/gcleak.nim
+++ b/tests/gc/gcleak.nim
@@ -12,7 +12,9 @@ type
 proc MakeObj(): TTestObj =
   result.x = "Hello"
 
-for i in 1 .. 100_000_000:
+for i in 1 .. 1_000_000:
+  when defined(gcMarkAndSweep):
+    GC_fullcollect()
   var obj = MakeObj()
   if getOccupiedMem() > 300_000: quit("still a leak!")
 #  echo GC_getstatistics()
diff --git a/tests/gc/gcleak2.nim b/tests/gc/gcleak2.nim
index a50541fbc..41d149bed 100755
--- a/tests/gc/gcleak2.nim
+++ b/tests/gc/gcleak2.nim
@@ -15,7 +15,9 @@ proc MakeObj(): TTestObj =
   result.s = @[1,2,3]
 
 proc inProc() = 
-  for i in 1 .. 100_000_000:
+  for i in 1 .. 1_000_000:
+    when defined(gcMarkAndSweep):
+      GC_fullcollect()
     var obj: TTestObj
     obj = MakeObj()
     if getOccupiedMem() > 300_000: quit("still a leak!")
diff --git a/tests/gc/weakrefs.nim b/tests/gc/weakrefs.nim
index 3b12d7998..0a6d4b873 100644
--- a/tests/gc/weakrefs.nim
+++ b/tests/gc/weakrefs.nim
@@ -40,6 +40,8 @@ proc main =
   for i in 0 .. s.high:
     s[i] = register(create())
   # test that we have at least 80% unreachable weak objects by now:
+  when defined(gcMarkAndSweep):
+    GC_fullcollect()
   var unreachable = 0
   for i in 0 .. s.high:
     if access(s[i]) == nil: inc unreachable