diff --git a/tests/cliOutput.test.ts b/tests/cliOutput.test.ts index 5373a070d..47f8b4b0d 100644 --- a/tests/cliOutput.test.ts +++ b/tests/cliOutput.test.ts @@ -11,6 +11,7 @@ import { sanitizeCliOutput } from "../src/cliOutput.js"; const execFileAsync = promisify(execFile); const CLI_INTEGRATION_TIMEOUT_MS = 60_000; +const CLI_VARIANT_TIMEOUT_MS = 120_000; describe("CLI output boundary", () => { it("preserves normal output and sanitizes text and JSON validation errors", () => { @@ -156,7 +157,7 @@ describe("CLI output boundary", () => { ).rejects.toMatchObject({ code: 1, stdout: expect.any(String) }); } }, - CLI_INTEGRATION_TIMEOUT_MS, + CLI_VARIANT_TIMEOUT_MS, ); it( diff --git a/tests/javascriptArtifactReconstruction.test.ts b/tests/javascriptArtifactReconstruction.test.ts index fa09dfc1a..819e392a9 100644 --- a/tests/javascriptArtifactReconstruction.test.ts +++ b/tests/javascriptArtifactReconstruction.test.ts @@ -537,7 +537,7 @@ describe("JavaScript artifact reconstruction", () => { truncated: true, omitted_count: 6, }); - }); + }, 15_000); it("rejects traversal from a production reader seam and malformed ASAR containers", async () => { const root = await fixtureDirectory(); diff --git a/vitest.config.ts b/vitest.config.ts index a71b18fdc..1212882a4 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -8,39 +8,43 @@ const TEST_FILES = ["tests/**/*.test.ts"]; const PROCESS_CAPTURE_TEST = "tests/processCapture.test.ts"; const CANONICAL_TEMPORARY_DIRECTORY = realpathSync(tmpdir()); const SERIAL_INTEGRATION_TESTS = [ + "tests/applicationWorkflowCli.test.ts", "tests/browserCli.test.ts", "tests/cliOutput.test.ts", + "tests/electronCli.test.ts", + "tests/javascriptArtifactReconstruction.test.ts", PROCESS_CAPTURE_TEST, "tests/runtime.test.ts", ]; -const dualCoreProjects = - availableParallelism() === 2 - ? { - maxWorkers: 2, - projects: [ - { - test: { - name: "parallel", - include: TEST_FILES, - exclude: SERIAL_INTEGRATION_TESTS, - }, - }, - { - test: { - name: "serial-integration", - include: SERIAL_INTEGRATION_TESTS, - fileParallelism: false, - }, - }, - ], - } - : {}; +const isolatedProjects = { + maxWorkers: Math.min(2, availableParallelism()), + projects: [ + { + extends: true as const, + test: { + name: "parallel", + include: TEST_FILES, + exclude: SERIAL_INTEGRATION_TESTS, + sequence: { groupOrder: 0 }, + }, + }, + { + extends: true as const, + test: { + name: "serial-integration", + include: SERIAL_INTEGRATION_TESTS, + fileParallelism: false, + sequence: { groupOrder: 1 }, + }, + }, + ], +}; export default defineConfig({ test: { include: TEST_FILES, env: { TMPDIR: CANONICAL_TEMPORARY_DIRECTORY }, - ...dualCoreProjects, + ...isolatedProjects, retry: 2, reporters: ["default", "verbose"], coverage: {