diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/system/tdeepcopy.nim | 1 | ||||
-rw-r--r-- | tests/system/trealloc.nim | 21 |
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/system/tdeepcopy.nim b/tests/system/tdeepcopy.nim index 5a582425a..f7a6e87fa 100644 --- a/tests/system/tdeepcopy.nim +++ b/tests/system/tdeepcopy.nim @@ -1,6 +1,5 @@ discard """ output: "ok" - disabled: "true" """ import tables, lists diff --git a/tests/system/trealloc.nim b/tests/system/trealloc.nim new file mode 100644 index 000000000..dc5f712d6 --- /dev/null +++ b/tests/system/trealloc.nim @@ -0,0 +1,21 @@ +discard """ + output: '''success''' +""" + +# bug #4818 + +# Test that this completes without OOM. + +const BUFFER_SIZE = 5000 +var buffer = cast[ptr uint16](alloc(BUFFER_SIZE)) + +var total_size: int64 = 0 +for i in 0 .. 4000: + let size = BUFFER_SIZE * i + #echo "requesting ", size + total_size += size.int64 + buffer = cast[ptr uint16](realloc(buffer, size)) + #echo totalSize, " total: ", getTotalMem(), " occupied: ", getOccupiedMem(), " free: ", getFreeMem() + +dealloc(buffer) +echo "success" |