diff options
author | Araq <rumpf_a@web.de> | 2016-12-18 23:11:53 +0100 |
---|---|---|
committer | Araq <rumpf_a@web.de> | 2016-12-18 23:11:53 +0100 |
commit | 39ca8b8c8e55033d79b848be519fc4a8d34b337e (patch) | |
tree | e6fd28c086c40d11d2f37f4f31f50fe83ea4d3cb /tests | |
parent | 4561d706320e7afe0c4c943763e01aa9369be167 (diff) | |
download | Nim-39ca8b8c8e55033d79b848be519fc4a8d34b337e.tar.gz |
fixes #4818
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" |