fix(test): restore root-matrix unit-fast cleanup (#121356)

This commit is contained in:
Peter Steinberger
2026-08-09 19:44:44 -07:00
committed by GitHub
parent f44c5e2e5e
commit 188a248449
4 changed files with 17 additions and 3 deletions
+9
View File
@@ -38,6 +38,7 @@ import { fullSuiteVitestShards } from "./vitest/vitest.test-shards.mjs";
import { createUiVitestConfig } from "./vitest/vitest.ui.config.ts";
import { createUnitFastFakeTimersVitestConfig } from "./vitest/vitest.unit-fast-fake-timers.config.ts";
import { createUnitFastIsolatedVitestConfig } from "./vitest/vitest.unit-fast-isolated.config.ts";
import unitFastRootConfig from "./vitest/vitest.unit-fast-root.config.ts";
import { createUnitFastVitestConfig } from "./vitest/vitest.unit-fast.config.ts";
import { createUnitVitestConfig } from "./vitest/vitest.unit.config.ts";
@@ -279,6 +280,14 @@ describe("projects vitest config", () => {
expect(testConfig.runner).toBeUndefined();
});
it("keeps root-matrix unit-fast files on the cross-file cleanup runner", () => {
const testConfig = requireTestConfig(unitFastRootConfig);
expect(testConfig.isolate).toBe(false);
expect(normalizeConfigPath(testConfig.runner)).toBe("test/non-isolated-runner.ts");
expect(rootVitestProjects).toContain("test/vitest/vitest.unit-fast-root.config.ts");
expect(rootVitestProjects).not.toContain("test/vitest/vitest.unit-fast.config.ts");
});
it("isolates forced unit-fast files from shared module caches", () => {
const config = createUnitFastIsolatedVitestConfig();
const testConfig = requireTestConfig(config);
+1 -1
View File
@@ -37,7 +37,7 @@ export const rootVitestProjects = [
...agentVitestProjectConfigs,
"test/vitest/vitest.daemon.config.ts",
"test/vitest/vitest.media.config.ts",
"test/vitest/vitest.unit-fast.config.ts",
"test/vitest/vitest.unit-fast-root.config.ts",
"test/vitest/vitest.unit-fast-isolated.config.ts",
"test/vitest/vitest.unit-fast-fake-timers.config.ts",
"test/vitest/vitest.plugin-sdk-light.config.ts",
@@ -0,0 +1,5 @@
// Root-matrix unit-fast config preserves cross-file cleanup when CLI filters bypass lane ownership.
import { nonIsolatedRunnerPath } from "./vitest.shared.config.ts";
import { createUnitFastVitestConfig } from "./vitest.unit-fast.config.ts";
export default createUnitFastVitestConfig(process.env, { runner: nonIsolatedRunnerPath });
+2 -2
View File
@@ -10,7 +10,7 @@ import {
export function createUnitFastVitestConfig(
env: Record<string, string | undefined> = process.env,
options: { argv?: string[] } = {},
options: { argv?: string[]; runner?: string } = {},
) {
const sharedTest = sharedVitestConfig.test ?? {};
const includeFromEnv = loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
@@ -27,7 +27,7 @@ export function createUnitFastVitestConfig(
...sharedTest,
name: "unit-fast",
isolate: false,
runner: undefined,
runner: options.runner,
// Env isolation only (no shared-setup mocks): membership is auto-curated,
// so tests must never read the developer's real config/state.
setupFiles: [resolveRepoRootPath("test/setup.env.ts")],