mirror of
https://github.com/nim-lang/Nim.git
synced 2026-01-01 19:02:18 +00:00
30 lines
568 B
Nim
30 lines
568 B
Nim
discard """
|
|
outputsub: "no leak: "
|
|
"""
|
|
|
|
when defined(GC_setMaxPause):
|
|
GC_setMaxPause 2_000
|
|
|
|
type
|
|
TTestObj = object of RootObj
|
|
x: string
|
|
|
|
proc makeObj(): TTestObj =
|
|
result.x = "Hello"
|
|
|
|
const numIter =
|
|
# see tests/gc/gcleak2.nim
|
|
when defined(boehmgc):
|
|
1_000
|
|
elif defined(gcMarkAndSweep): 10_000
|
|
else: 100_000
|
|
|
|
for i in 1 .. numIter:
|
|
when defined(gcMarkAndSweep) or defined(boehmgc):
|
|
GC_fullcollect()
|
|
var obj = makeObj()
|
|
if getOccupiedMem() > 300_000: quit("still a leak!")
|
|
# echo GC_getstatistics()
|
|
|
|
echo "no leak: ", getOccupiedMem()
|