Files
Nim/tests/stdlib/tfdleak_multiple.nim
ringabout 3d2f0e2c7c make more standard libraries work with nimPreviewSlimSystem (#20343)
* make more standard libraries work with `nimPreviewSlimSystem`

* typo

* part two

* Delete specutils.nim

* fixes more tests

* more fixes

* fixes tests

* fixes three more tests

* add formatfloat import

* fix

* last
2022-09-27 20:06:23 +02:00

32 lines
881 B
Nim

discard """
joinable: false
"""
import os, osproc, strutils
import std/assertions
const Iterations = 200
proc testFdLeak() =
var count = 0
let
test = getAppDir() / "tfdleak"
exe = test.addFileExt(ExeExt).quoteShell
options = ["", "-d:nimInheritHandles"]
for opt in options:
let
run = "nim c $1 $2" % [opt, quoteShell test]
(output, status) = execCmdEx run
doAssert status == 0, "Test complination failed:\n$1\n$2" % [run, output]
for i in 1..Iterations:
let (output, status) = execCmdEx exe
doAssert status == 0, "Execution of " & exe & " failed"
if "leaked" in output:
count.inc
doAssert count == 0, "Leaked " & $count & " times"
when defined(windows):
# tfdleak was only flaky for windows (and for netbsd, there is still a bug)
# note that this test is quite slow, 87 sec on windows.
testFdLeak()