From ec5cf2ad9692c2af6115172d02e9de061a4840d8 Mon Sep 17 00:00:00 2001 From: Eric <5089238+emizzle@users.noreply.github.com> Date: Fri, 1 Dec 2023 13:38:26 +1100 Subject: [PATCH] terminate process before waiting for exit with timeout solved an issue on windows where the processes were not exiting cleanly and causing an attempted write to the dht db after the data dir had already been deleted --- tests/integration/nodeprocess.nim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/tests/integration/nodeprocess.nim b/tests/integration/nodeprocess.nim index 04f25cbd..ff845025 100644 --- a/tests/integration/nodeprocess.nim +++ b/tests/integration/nodeprocess.nim @@ -120,8 +120,12 @@ method stop*(node: NodeProcess) {.base, async.} = await node.trackedFutures.cancelTracked() if node.process != nil: try: + trace "terminating node process..." + if errCode =? node.process.terminate().errorOption: + error "failed to terminate process", errCode + trace "waiting for node process to exit" - let exitCode = await node.process.waitForExit(ZeroDuration) + let exitCode = await node.process.waitForExit(3.seconds) if exitCode > 0: error "failed to exit process, check for zombies", exitCode