From ce6e21fa2a8a28a748514e6a1cb26ae44ed41e0e Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 11 Jan 2023 16:01:04 +0100 Subject: [PATCH 1/2] feat: destroy workers, when closing process --- packages/vitest/src/node/pool.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vitest/src/node/pool.ts b/packages/vitest/src/node/pool.ts index 457d65cac2c0..15f2015a6f40 100644 --- a/packages/vitest/src/node/pool.ts +++ b/packages/vitest/src/node/pool.ts @@ -127,7 +127,9 @@ export function createPool(ctx: Vitest): WorkerPool { return { runTests: runWithFiles('run'), - close: async () => {}, // TODO: not sure why this will cause Node crash: pool.destroy(), + close: async () => { + await pool.destroy() + }, } } From 4b1cc7befa1a21044b1fa985db6cf28ac920d5af Mon Sep 17 00:00:00 2001 From: Vladimir Sheremet Date: Wed, 11 Jan 2023 16:12:08 +0100 Subject: [PATCH 2/2] chore: terminate all workers when closing pool --- packages/vitest/src/node/pool.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vitest/src/node/pool.ts b/packages/vitest/src/node/pool.ts index 15f2015a6f40..6561b2436edd 100644 --- a/packages/vitest/src/node/pool.ts +++ b/packages/vitest/src/node/pool.ts @@ -128,7 +128,7 @@ export function createPool(ctx: Vitest): WorkerPool { return { runTests: runWithFiles('run'), close: async () => { - await pool.destroy() + await Promise.all(pool.threads.map(w => w.terminate())) }, } }