diff options
Diffstat (limited to 'tests/system/trealloc.nim')
-rw-r--r-- | tests/system/trealloc.nim | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/system/trealloc.nim b/tests/system/trealloc.nim new file mode 100644 index 000000000..1d3e00aff --- /dev/null +++ b/tests/system/trealloc.nim @@ -0,0 +1,23 @@ +discard """ + output: '''success''' + joinable: false + disabled: "openbsd" +""" + +# 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 .. 1000: + 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" |