From ba7ffbfb10819c1461f97dc5f84c958b0685c687 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Mon, 23 Feb 2026 00:04:58 +0100 Subject: [PATCH] test: fix async kill handler test for vitest compatibility - Make test async and properly await kill handler completion - Stub sendToMainWorker to prevent unhandled rejection - Add assertions for sendToMainWorker call - Remove sequence.hooks config (not needed) --- tests/worker/abstract-worker.test.mjs | 7 ++++++- vitest.config.ts | 3 --- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/tests/worker/abstract-worker.test.mjs b/tests/worker/abstract-worker.test.mjs index 03e4e87a1..90118ca65 100644 --- a/tests/worker/abstract-worker.test.mjs +++ b/tests/worker/abstract-worker.test.mjs @@ -8,6 +8,7 @@ import { WorkerChoiceStrategies, } from '../../lib/index.mjs' import { DEFAULT_TASK_NAME, EMPTY_FUNCTION } from '../../lib/utils.mjs' +import { sleep } from '../test-utils.cjs' describe('Abstract worker test suite', () => { class StubWorkerWithMainWorker extends ThreadWorker { @@ -243,14 +244,18 @@ describe('Abstract worker test suite', () => { ) }) - it('Verify that async kill handler is called when worker is killed', () => { + it('Verify that async kill handler is called when worker is killed', async () => { const killHandlerStub = stub().returns() const worker = new ClusterWorker(() => {}, { killHandler: async () => await Promise.resolve(killHandlerStub()), }) worker.isMain = false + const sendToMainWorkerStub = stub(worker, 'sendToMainWorker').returns() worker.handleKillMessage() + await sleep(10) expect(killHandlerStub.calledOnce).toBe(true) + expect(sendToMainWorkerStub.calledOnce).toBe(true) + expect(sendToMainWorkerStub.calledWith({ kill: 'success' })).toBe(true) }) it('Verify that getMainWorker() throw error if main worker is not set', () => { diff --git a/vitest.config.ts b/vitest.config.ts index e80f9e30d..11f1f1833 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -15,9 +15,6 @@ export default defineConfig({ fileParallelism: false, hookTimeout: 30000, include: ['tests/**/*.test.mjs'], - sequence: { - hooks: 'list', - }, setupFiles: ['./tests/vitest.setup.mjs'], testTimeout: 30000, }, -- 2.53.0