diff --git a/test/vitest-scoped-config.test.ts b/test/vitest-scoped-config.test.ts index 6c669424f4c6..6ee42242dd94 100644 --- a/test/vitest-scoped-config.test.ts +++ b/test/vitest-scoped-config.test.ts @@ -610,9 +610,13 @@ describe("scoped vitest configs", () => { expect(requireTestConfig(defaultCliConfig).exclude).toEqual( expect.arrayContaining(cliProcessTestFiles.map((file) => file.replace("src/cli/", ""))), ); - expect(requireTestConfig(defaultCliProcessConfig).include).toEqual(cliProcessTestFiles); - expect(requireTestConfig(defaultCliProcessConfig).fileParallelism).toBe(false); - expect(requireTestConfig(defaultCliProcessConfig).env).toMatchObject({ + const processTestConfig = requireTestConfig(defaultCliProcessConfig); + expect(processTestConfig.include).toEqual(cliProcessTestFiles); + for (const file of cliProcessTestFiles) { + expect(matchingExcludePatterns(processTestConfig.exclude ?? [], file), file).toEqual([]); + } + expect(processTestConfig.fileParallelism).toBe(false); + expect(processTestConfig.env).toMatchObject({ ESBUILD_WORKER_THREADS: "0", }); }); diff --git a/test/vitest-unit-fast-config.test.ts b/test/vitest-unit-fast-config.test.ts index 5b34551a1159..d7bbb24092a7 100644 --- a/test/vitest-unit-fast-config.test.ts +++ b/test/vitest-unit-fast-config.test.ts @@ -2,6 +2,7 @@ import path from "node:path"; import { beforeAll, describe, expect, it } from "vitest"; import { spawnNodeEvalSync } from "../src/test-utils/node-process.js"; +import { cliProcessTestFiles } from "./vitest/vitest.cli-process-paths.mjs"; import { createCommandsLightVitestConfig } from "./vitest/vitest.commands-light.config.ts"; import { createPluginSdkLightVitestConfig } from "./vitest/vitest.plugin-sdk-light.config.ts"; import { createUnitFastFakeTimersVitestConfig } from "./vitest/vitest.unit-fast-fake-timers.config.ts"; @@ -217,6 +218,13 @@ describe("unit-fast vitest lane", () => { ]); }); + it("keeps process-launching CLI files in their owner lane", () => { + for (const file of cliProcessTestFiles) { + expect(isUnitFastTestFile(file), file).toBe(false); + expect(unitFastTestFiles, file).not.toContain(file); + } + }); + it("routes unit-fast source files to their unit-fast sibling tests", () => { expect(resolveUnitFastTestIncludePattern("src/plugin-sdk/provider-entry.ts")).toBe( "src/plugin-sdk/provider-entry.test.ts", diff --git a/test/vitest/vitest.unit-fast-paths.mjs b/test/vitest/vitest.unit-fast-paths.mjs index 2cef60965b51..ed2a1dc4681e 100644 --- a/test/vitest/vitest.unit-fast-paths.mjs +++ b/test/vitest/vitest.unit-fast-paths.mjs @@ -2,6 +2,7 @@ import { spawnSync } from "node:child_process"; import fs from "node:fs"; import path from "node:path"; +import { cliProcessTestFiles } from "./vitest.cli-process-paths.mjs"; import { commandsLightSourceFiles, commandsLightTestFiles, @@ -165,6 +166,7 @@ const broadUnitFastCandidateGlobs = [ "test/**/*.test.ts", ]; const ownerRoutedUnitTestPatterns = [ + ...cliProcessTestFiles, "src/agents/embedded-agent-runner/run/attempt.abort-race.test.ts", "src/agents/openai-transport-stream.*.test.ts", "src/agents/embedded-agent-runner/run.shared-integration.test.ts",