test: isolate provider auth parity suite (#107167)

This commit is contained in:
Peter Steinberger
2026-07-14 00:16:49 -07:00
committed by GitHub
parent 84500db379
commit 69a578034f
10 changed files with 61 additions and 27 deletions
+2 -2
View File
@@ -2,6 +2,7 @@
import { relative } from "node:path";
import { commandsLightTestFiles } from "../../test/vitest/vitest.commands-light-paths.mjs";
import { fullSuiteVitestShards } from "../../test/vitest/vitest.test-shards.mjs";
import { toolingIsolatedTestFiles } from "../../test/vitest/vitest.tooling-isolated-paths.mjs";
import { getUnitFastTestFilesForIncludePatterns } from "../../test/vitest/vitest.unit-fast-paths.mjs";
import { boundaryTestFiles } from "../../test/vitest/vitest.unit-paths.mjs";
import { listTrackedTestFiles } from "./list-test-files.mjs";
@@ -34,7 +35,6 @@ const COMPACT_WHOLE_NODE_TEST_TIMEOUT_MINUTES = 120;
const TOOLING_CONFIG = "test/vitest/vitest.tooling.config.ts";
const TOOLING_DOCKER_TEST_FILE = "test/scripts/docker-build-helper.test.ts";
const TOOLING_ISOLATED_CONFIG = "test/vitest/vitest.tooling-isolated.config.ts";
const TOOLING_ISOLATED_TEST_FILE = "test/scripts/openclaw-e2e-instance.test.ts";
// The full matrix is capped at 28 jobs. Admit the consistently slow serial
// shards first so short alphabetical groups cannot leave them on the tail.
const FULL_NODE_TEST_ADMISSION_PRIORITY = new Map([
@@ -1045,7 +1045,7 @@ function listCompactToolingTestFiles() {
...boundaryTestFiles,
...unitFastFiles,
TOOLING_DOCKER_TEST_FILE,
TOOLING_ISOLATED_TEST_FILE,
...toolingIsolatedTestFiles,
]);
return [...listTestFiles("test"), ...listTestFiles("src/scripts")].filter(
(file) =>
+2 -1
View File
@@ -5,6 +5,7 @@ import fs from "node:fs";
import { createRequire } from "node:module";
import path from "node:path";
import { fileURLToPath } from "node:url";
import { toolingIsolatedTestFiles } from "../test/vitest/vitest.tooling-isolated-paths.mjs";
import { isUiTestTarget } from "../test/vitest/vitest.ui-paths.mjs";
import { boundaryTestFiles } from "../test/vitest/vitest.unit-paths.mjs";
import { resolveLocalVitestEnv } from "./lib/vitest-local-scheduling.mjs";
@@ -56,7 +57,7 @@ export const VITEST_CONFIG_NO_OUTPUT_TIMEOUT_MS = new Map([
export const TOOLING_EXCLUDED_TESTS = new Set([
...boundaryTestFiles,
"test/scripts/docker-build-helper.test.ts",
"test/scripts/openclaw-e2e-instance.test.ts",
...toolingIsolatedTestFiles,
]);
const EXPLICIT_FILE_TARGET_RE = /\.(?:[cm]?[jt]sx?)$/u;
const EXPLICIT_TEST_FILE_RE = /\.(?:test|e2e|live)\.(?:[cm]?[jt]sx?)$/u;
+18 -13
View File
@@ -42,6 +42,10 @@ import {
resolvePluginSdkLightIncludePattern,
} from "../test/vitest/vitest.plugin-sdk-paths.mjs";
import { fullSuiteVitestShards } from "../test/vitest/vitest.test-shards.mjs";
import {
isToolingIsolatedTestFile,
toolingIsolatedTestFiles,
} from "../test/vitest/vitest.tooling-isolated-paths.mjs";
import {
getUnitFastTestFiles,
getUnitFastTimerTestFiles,
@@ -285,7 +289,6 @@ const TOOLING_DOCKER_VITEST_CONFIG = "test/vitest/vitest.tooling-docker.config.t
const TOOLING_ISOLATED_VITEST_CONFIG = "test/vitest/vitest.tooling-isolated.config.ts";
const TOOLING_VITEST_CONFIG = "test/vitest/vitest.tooling.config.ts";
const TOOLING_DOCKER_TEST_TARGET = "test/scripts/docker-build-helper.test.ts";
const TOOLING_ISOLATED_TEST_TARGET = "test/scripts/openclaw-e2e-instance.test.ts";
const BROAD_TOOLING_SCRIPT_TEST_PATTERNS = new Set([
"test/scripts/**/*.test.ts",
"test/scripts/*.test.ts",
@@ -3864,7 +3867,7 @@ function classifyTarget(arg, cwd) {
if (isBoundaryTestFile(relative)) {
return "boundary";
}
if (relative === TOOLING_ISOLATED_TEST_TARGET) {
if (isToolingIsolatedTestFile(relative)) {
return "toolingIsolated";
}
if (relative === TOOLING_DOCKER_TEST_TARGET) {
@@ -4128,19 +4131,21 @@ export function buildVitestRunPlans(
groupedTargets.set("toolingDocker", current);
}
}
if (
!watchMode &&
toolingTargets.some((targetArg) =>
includePatternMatchesAnyFile(toScopedIncludePattern(targetArg, cwd), [
TOOLING_ISOLATED_TEST_TARGET,
]),
)
) {
const impliedToolingIsolatedTargets = !watchMode
? toolingIsolatedTestFiles.filter((file) =>
toolingTargets.some((targetArg) =>
includePatternMatchesAnyFile(toScopedIncludePattern(targetArg, cwd), [file]),
),
)
: [];
if (impliedToolingIsolatedTargets.length > 0) {
const current = groupedTargets.get("toolingIsolated") ?? [];
if (!current.includes(TOOLING_ISOLATED_TEST_TARGET)) {
current.push(TOOLING_ISOLATED_TEST_TARGET);
groupedTargets.set("toolingIsolated", current);
for (const target of impliedToolingIsolatedTargets) {
if (!current.includes(target)) {
current.push(target);
}
}
groupedTargets.set("toolingIsolated", current);
}
if (watchMode && groupedTargets.size > 1) {