From dd58783f5ee730a51ae59e36901038ca07e4917b Mon Sep 17 00:00:00 2001 From: nrslib <38722970+nrslib@users.noreply.github.com> Date: Mon, 16 Feb 2026 09:56:33 +0900 Subject: [PATCH] refactor(e2e): extract shared vitest config and add forceExit to prevent zombie workers --- vitest.config.e2e.base.ts | 16 ++++++++++++++++ vitest.config.e2e.mock.ts | 13 ++----------- vitest.config.e2e.provider.ts | 13 ++----------- vitest.config.e2e.structured-output.ts | 13 ++----------- vitest.config.e2e.ts | 13 ++----------- 5 files changed, 24 insertions(+), 44 deletions(-) create mode 100644 vitest.config.e2e.base.ts diff --git a/vitest.config.e2e.base.ts b/vitest.config.e2e.base.ts new file mode 100644 index 0000000..4e0f413 --- /dev/null +++ b/vitest.config.e2e.base.ts @@ -0,0 +1,16 @@ +import { UserConfig } from 'vitest/config'; + +export const e2eBaseTestConfig: UserConfig['test'] = { + environment: 'node', + globals: false, + testTimeout: 240000, + hookTimeout: 60000, + teardownTimeout: 30000, + forceExit: true, + pool: 'threads', + poolOptions: { + threads: { + singleThread: true, + }, + }, +}; diff --git a/vitest.config.e2e.mock.ts b/vitest.config.e2e.mock.ts index 3d6abf5..b9826e5 100644 --- a/vitest.config.e2e.mock.ts +++ b/vitest.config.e2e.mock.ts @@ -1,7 +1,9 @@ import { defineConfig } from 'vitest/config'; +import { e2eBaseTestConfig } from './vitest.config.e2e.base'; export default defineConfig({ test: { + ...e2eBaseTestConfig, include: [ 'e2e/specs/direct-task.e2e.ts', 'e2e/specs/pipeline-skip-git.e2e.ts', @@ -34,16 +36,5 @@ export default defineConfig({ 'e2e/specs/quiet-mode.e2e.ts', 'e2e/specs/task-content-file.e2e.ts', ], - environment: 'node', - globals: false, - testTimeout: 240000, - hookTimeout: 60000, - teardownTimeout: 30000, - pool: 'threads', - poolOptions: { - threads: { - singleThread: true, - }, - }, }, }); diff --git a/vitest.config.e2e.provider.ts b/vitest.config.e2e.provider.ts index cd00e37..a35d436 100644 --- a/vitest.config.e2e.provider.ts +++ b/vitest.config.e2e.provider.ts @@ -1,7 +1,9 @@ import { defineConfig } from 'vitest/config'; +import { e2eBaseTestConfig } from './vitest.config.e2e.base'; export default defineConfig({ test: { + ...e2eBaseTestConfig, include: [ 'e2e/specs/add-and-run.e2e.ts', 'e2e/specs/worktree.e2e.ts', @@ -9,16 +11,5 @@ export default defineConfig({ 'e2e/specs/github-issue.e2e.ts', 'e2e/specs/structured-output.e2e.ts', ], - environment: 'node', - globals: false, - testTimeout: 240000, - hookTimeout: 60000, - teardownTimeout: 30000, - pool: 'threads', - poolOptions: { - threads: { - singleThread: true, - }, - }, }, }); diff --git a/vitest.config.e2e.structured-output.ts b/vitest.config.e2e.structured-output.ts index 9926aa5..fb98f6c 100644 --- a/vitest.config.e2e.structured-output.ts +++ b/vitest.config.e2e.structured-output.ts @@ -1,20 +1,11 @@ import { defineConfig } from 'vitest/config'; +import { e2eBaseTestConfig } from './vitest.config.e2e.base'; export default defineConfig({ test: { + ...e2eBaseTestConfig, include: [ 'e2e/specs/structured-output.e2e.ts', ], - environment: 'node', - globals: false, - testTimeout: 240000, - hookTimeout: 60000, - teardownTimeout: 30000, - pool: 'threads', - poolOptions: { - threads: { - singleThread: true, - }, - }, }, }); diff --git a/vitest.config.e2e.ts b/vitest.config.e2e.ts index e3c715f..63ee90e 100644 --- a/vitest.config.e2e.ts +++ b/vitest.config.e2e.ts @@ -1,18 +1,9 @@ import { defineConfig } from 'vitest/config'; +import { e2eBaseTestConfig } from './vitest.config.e2e.base'; export default defineConfig({ test: { + ...e2eBaseTestConfig, include: ['e2e/specs/**/*.e2e.ts'], - environment: 'node', - globals: false, - testTimeout: 240000, - hookTimeout: 60000, - teardownTimeout: 30000, - pool: 'threads', - poolOptions: { - threads: { - singleThread: true, - }, - }, }, });