diff --git a/packages/vitest/src/node/pools/pool.ts b/packages/vitest/src/node/pools/pool.ts index 4631e422c8f8..6024f6f8c1f3 100644 --- a/packages/vitest/src/node/pools/pool.ts +++ b/packages/vitest/src/node/pools/pool.ts @@ -76,12 +76,6 @@ export class Pool { const activeTask = { task, resolver, method, cancelTask } this.activeTasks.push(activeTask) - runner.on('error', (error) => { - resolver.reject( - new Error(`[vitest-pool]: Worker ${task.worker} emitted error.`, { cause: error }), - ) - }) - async function cancelTask() { await runner.stop() resolver.reject(new Error('Cancelled')) @@ -104,6 +98,12 @@ export class Pool { runner.on('message', onFinished) if (!runner.isStarted) { + runner.on('error', (error) => { + resolver.reject( + new Error(`[vitest-pool]: Worker ${task.worker} emitted error.`, { cause: error }), + ) + }) + const id = setTimeout( () => resolver.reject(new Error(`[vitest-pool]: Timeout starting ${task.worker} runner.`)), WORKER_START_TIMEOUT,