summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorAraq <rumpf_a@web.de>2017-12-07 17:03:15 +0100
committerAraq <rumpf_a@web.de>2017-12-07 17:03:15 +0100
commitc96e1d0180daebd67a4e48d7665069d70164789d (patch)
tree84ebd77dfff4a852d6b25f64f715bf9b12553ead
parent226532f8f39e8d37d392282ed57aa891c0e69736 (diff)
downloadNim-c96e1d0180daebd67a4e48d7665069d70164789d.tar.gz
enable fragmentation tests
-rw-r--r--tests/fragmentation/tfragment_alloc.nim16
-rw-r--r--tests/fragmentation/tfragment_gc.nim20
2 files changed, 26 insertions, 10 deletions
diff --git a/tests/fragmentation/tfragment_alloc.nim b/tests/fragmentation/tfragment_alloc.nim
index 6ee8322c7..031588d27 100644
--- a/tests/fragmentation/tfragment_alloc.nim
+++ b/tests/fragmentation/tfragment_alloc.nim
@@ -1,7 +1,8 @@
 
-
-
-include system/ansi_c
+discard """
+  output: '''occupied ok: true
+total ok: true'''
+"""
 
 import strutils, data
 
@@ -16,4 +17,11 @@ proc main =
  #   c_fprintf(stdout, "iteration: %ld size: %ld\n", i, size)
 
 main()
-echo formatSize getOccupiedMem(), " / ", formatSize getTotalMem()
+
+let occ = getOccupiedMem()
+let total = getTotalMem()
+
+# Current values on Win64: 824KiB / 106.191MiB
+
+echo "occupied ok: ", occ < 2 * 1024 * 1024
+echo "total ok: ", total < 120 * 1024 * 1024
diff --git a/tests/fragmentation/tfragment_gc.nim b/tests/fragmentation/tfragment_gc.nim
index 41f86136c..42f2f1cf6 100644
--- a/tests/fragmentation/tfragment_gc.nim
+++ b/tests/fragmentation/tfragment_gc.nim
@@ -1,16 +1,24 @@
-
-
-
-#include system/ansi_c
+discard """
+  output: '''occupied ok: true
+total ok: true'''
+"""
 
 import strutils, data
 
 proc main =
   var m = 0
-  for i in 0..1000_000:
+  # Since the GC test is slower than the alloc test, we only iterate 100_000 times here:
+  for i in 0..100_000:
     let size = sizes[i mod sizes.len]
     let p = newString(size)
  #   c_fprintf(stdout, "iteration: %ld size: %ld\n", i, size)
 
 main()
-echo formatSize getOccupiedMem(), " / ", formatSize getTotalMem()
+
+let occ = getOccupiedMem()
+let total = getTotalMem()
+
+# Concrete values on Win64: 58.152MiB / 188.285MiB
+
+echo "occupied ok: ", occ < 60 * 1024 * 1024
+echo "total ok: ", total < 200 * 1024 * 1024