mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 05:30:42 +00:00
test: split contract vitest shards
This commit is contained in:
@@ -1403,8 +1403,8 @@
|
||||
"test:changed:max": "OPENCLAW_VITEST_MAX_WORKERS=8 node scripts/test-projects.mjs --changed origin/main",
|
||||
"test:channels": "node scripts/run-vitest.mjs run --config test/vitest/vitest.channels.config.ts",
|
||||
"test:contracts": "pnpm test:contracts:channels && pnpm test:contracts:plugins",
|
||||
"test:contracts:channels": "node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts.config.ts --maxWorkers=1 src/channels/plugins/contracts",
|
||||
"test:contracts:plugins": "node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts.config.ts --maxWorkers=1 src/plugins/contracts",
|
||||
"test:contracts:channels": "node scripts/test-projects.mjs --maxWorkers=1 test/vitest/vitest.contracts-channel-surface.config.ts test/vitest/vitest.contracts-channel-config.config.ts test/vitest/vitest.contracts-channel-registry.config.ts test/vitest/vitest.contracts-channel-session.config.ts",
|
||||
"test:contracts:plugins": "node scripts/run-vitest.mjs run --config test/vitest/vitest.contracts-plugin.config.ts --maxWorkers=1",
|
||||
"test:coverage": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage",
|
||||
"test:coverage:changed": "node scripts/run-vitest.mjs run --config test/vitest/vitest.unit.config.ts --coverage --changed origin/main",
|
||||
"test:docker:all": "pnpm test:docker:live-build && OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:live-models && OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:live-gateway && pnpm test:docker:openwebui && pnpm test:docker:onboard && pnpm test:docker:gateway-network && pnpm test:docker:mcp-channels && pnpm test:docker:qr && pnpm test:docker:doctor-switch && pnpm test:docker:plugins && pnpm test:docker:cleanup",
|
||||
|
||||
@@ -38,7 +38,11 @@ const FULL_SUITE_CONFIG_WEIGHT = new Map([
|
||||
["test/vitest/vitest.extensions.config.ts", 168],
|
||||
["test/vitest/vitest.extension-provider-openai.config.ts", 167],
|
||||
["test/vitest/vitest.runtime-config.config.ts", 166],
|
||||
["test/vitest/vitest.contracts.config.ts", 165],
|
||||
["test/vitest/vitest.contracts-channel-config.config.ts", 85],
|
||||
["test/vitest/vitest.contracts-channel-surface.config.ts", 60],
|
||||
["test/vitest/vitest.contracts-channel-session.config.ts", 50],
|
||||
["test/vitest/vitest.contracts-channel-registry.config.ts", 35],
|
||||
["test/vitest/vitest.contracts-plugin.config.ts", 20],
|
||||
["test/vitest/vitest.tasks.config.ts", 165],
|
||||
["test/vitest/vitest.channels.config.ts", 164],
|
||||
["test/vitest/vitest.unit-fast.config.ts", 160],
|
||||
|
||||
@@ -50,7 +50,15 @@ const CHANNEL_VITEST_CONFIG = "test/vitest/vitest.channels.config.ts";
|
||||
const CLI_VITEST_CONFIG = "test/vitest/vitest.cli.config.ts";
|
||||
const COMMANDS_LIGHT_VITEST_CONFIG = "test/vitest/vitest.commands-light.config.ts";
|
||||
const COMMANDS_VITEST_CONFIG = "test/vitest/vitest.commands.config.ts";
|
||||
const CONTRACTS_VITEST_CONFIG = "test/vitest/vitest.contracts.config.ts";
|
||||
const CONTRACTS_CHANNEL_CONFIG_VITEST_CONFIG =
|
||||
"test/vitest/vitest.contracts-channel-config.config.ts";
|
||||
const CONTRACTS_CHANNEL_REGISTRY_VITEST_CONFIG =
|
||||
"test/vitest/vitest.contracts-channel-registry.config.ts";
|
||||
const CONTRACTS_CHANNEL_SESSION_VITEST_CONFIG =
|
||||
"test/vitest/vitest.contracts-channel-session.config.ts";
|
||||
const CONTRACTS_CHANNEL_SURFACE_VITEST_CONFIG =
|
||||
"test/vitest/vitest.contracts-channel-surface.config.ts";
|
||||
const CONTRACTS_PLUGIN_VITEST_CONFIG = "test/vitest/vitest.contracts-plugin.config.ts";
|
||||
const CRON_VITEST_CONFIG = "test/vitest/vitest.cron.config.ts";
|
||||
const DAEMON_VITEST_CONFIG = "test/vitest/vitest.daemon.config.ts";
|
||||
const E2E_VITEST_CONFIG = "test/vitest/vitest.e2e.config.ts";
|
||||
@@ -112,7 +120,11 @@ const VITEST_CONFIG_BY_KIND = {
|
||||
cli: CLI_VITEST_CONFIG,
|
||||
command: COMMANDS_VITEST_CONFIG,
|
||||
commandLight: COMMANDS_LIGHT_VITEST_CONFIG,
|
||||
contracts: CONTRACTS_VITEST_CONFIG,
|
||||
contractsChannelConfig: CONTRACTS_CHANNEL_CONFIG_VITEST_CONFIG,
|
||||
contractsChannelRegistry: CONTRACTS_CHANNEL_REGISTRY_VITEST_CONFIG,
|
||||
contractsChannelSession: CONTRACTS_CHANNEL_SESSION_VITEST_CONFIG,
|
||||
contractsChannelSurface: CONTRACTS_CHANNEL_SURFACE_VITEST_CONFIG,
|
||||
contractsPlugin: CONTRACTS_PLUGIN_VITEST_CONFIG,
|
||||
cron: CRON_VITEST_CONFIG,
|
||||
daemon: DAEMON_VITEST_CONFIG,
|
||||
e2e: E2E_VITEST_CONFIG,
|
||||
@@ -256,6 +268,54 @@ function isVitestConfigTargetForKind(kind, targetArg, cwd) {
|
||||
return resolveVitestConfigTargetKind(toRepoRelativeTarget(targetArg, cwd)) === kind;
|
||||
}
|
||||
|
||||
function resolveChannelContractTargetKind(relative) {
|
||||
if (!relative.startsWith("src/channels/plugins/contracts/")) {
|
||||
return null;
|
||||
}
|
||||
const name = path.posix.basename(relative);
|
||||
if (/-shard-[ae]\.contract\.test\.ts$/u.test(name)) {
|
||||
return "contractsChannelSurface";
|
||||
}
|
||||
if (/-shard-[bf]\.contract\.test\.ts$/u.test(name)) {
|
||||
return "contractsChannelConfig";
|
||||
}
|
||||
if (/-shard-[cg]\.contract\.test\.ts$/u.test(name)) {
|
||||
return "contractsChannelRegistry";
|
||||
}
|
||||
if (/-shard-[dh]\.contract\.test\.ts$/u.test(name)) {
|
||||
return "contractsChannelSession";
|
||||
}
|
||||
if (
|
||||
[
|
||||
"channel-catalog.contract.test.ts",
|
||||
"channel-import-guardrails.test.ts",
|
||||
"group-policy.fallback.contract.test.ts",
|
||||
"outbound-payload.contract.test.ts",
|
||||
].includes(name)
|
||||
) {
|
||||
return "contractsChannelSurface";
|
||||
}
|
||||
if (
|
||||
[
|
||||
"plugins-core.authorize-config-write.policy.contract.test.ts",
|
||||
"plugins-core.authorize-config-write.targets.contract.test.ts",
|
||||
"plugins-core.catalog.entries.contract.test.ts",
|
||||
].includes(name)
|
||||
) {
|
||||
return "contractsChannelConfig";
|
||||
}
|
||||
if (
|
||||
[
|
||||
"plugins-core.catalog.paths.contract.test.ts",
|
||||
"plugins-core.loader.contract.test.ts",
|
||||
"plugins-core.registry.contract.test.ts",
|
||||
].includes(name)
|
||||
) {
|
||||
return "contractsChannelRegistry";
|
||||
}
|
||||
return "contractsChannelSession";
|
||||
}
|
||||
|
||||
function listChangedPathsFromGit(baseRef, cwd) {
|
||||
return [
|
||||
...new Set([
|
||||
@@ -471,6 +531,13 @@ function classifyTarget(arg, cwd) {
|
||||
}
|
||||
return isProviderExtensionRoot(extensionRoot) ? "extensionProvider" : "extension";
|
||||
}
|
||||
const channelContractKind = resolveChannelContractTargetKind(relative);
|
||||
if (channelContractKind) {
|
||||
return channelContractKind;
|
||||
}
|
||||
if (relative.startsWith("src/plugins/contracts/")) {
|
||||
return "contractsPlugin";
|
||||
}
|
||||
if (isChannelSurfaceTestFile(relative)) {
|
||||
return "channel";
|
||||
}
|
||||
@@ -480,16 +547,11 @@ function classifyTarget(arg, cwd) {
|
||||
if (
|
||||
relative.startsWith("test/") ||
|
||||
relative.startsWith("src/scripts/") ||
|
||||
relative.startsWith("src/plugins/contracts/") ||
|
||||
relative.startsWith("src/channels/plugins/contracts/") ||
|
||||
relative === "src/config/doc-baseline.integration.test.ts" ||
|
||||
relative === "src/config/schema.base.generated.test.ts" ||
|
||||
relative === "src/config/schema.help.quality.test.ts"
|
||||
) {
|
||||
return relative.startsWith("src/plugins/contracts/") ||
|
||||
relative.startsWith("src/channels/plugins/contracts/")
|
||||
? "contracts"
|
||||
: "tooling";
|
||||
return "tooling";
|
||||
}
|
||||
if (isBundledPluginDependentUnitTestFile(relative)) {
|
||||
return "bundled";
|
||||
@@ -669,7 +731,11 @@ export function buildVitestRunPlans(
|
||||
"default",
|
||||
"boundary",
|
||||
"tooling",
|
||||
"contracts",
|
||||
"contractsChannelSurface",
|
||||
"contractsChannelConfig",
|
||||
"contractsChannelRegistry",
|
||||
"contractsChannelSession",
|
||||
"contractsPlugin",
|
||||
"bundled",
|
||||
"gateway",
|
||||
"hooks",
|
||||
|
||||
@@ -168,12 +168,12 @@ describe("test-projects args", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it("routes contract tests to the contracts config", () => {
|
||||
it("routes plugin contract tests to the plugin contracts config", () => {
|
||||
expect(
|
||||
buildVitestRunPlans(["src/plugins/contracts/memory-embedding-provider.contract.test.ts"]),
|
||||
).toEqual([
|
||||
{
|
||||
config: "test/vitest/vitest.contracts.config.ts",
|
||||
config: "test/vitest/vitest.contracts-plugin.config.ts",
|
||||
forwardedArgs: [],
|
||||
includePatterns: ["src/plugins/contracts/memory-embedding-provider.contract.test.ts"],
|
||||
watchMode: false,
|
||||
|
||||
@@ -59,6 +59,28 @@ describe("scripts/test-projects changed-target routing", () => {
|
||||
]);
|
||||
});
|
||||
|
||||
it("routes contract roots to separate contract shards", () => {
|
||||
const plans = buildVitestRunPlans([
|
||||
"src/channels/plugins/contracts/channel-catalog.contract.test.ts",
|
||||
"src/plugins/contracts/loader.contract.test.ts",
|
||||
]);
|
||||
|
||||
expect(plans).toEqual([
|
||||
{
|
||||
config: "test/vitest/vitest.contracts-channel-surface.config.ts",
|
||||
forwardedArgs: [],
|
||||
includePatterns: ["src/channels/plugins/contracts/channel-catalog.contract.test.ts"],
|
||||
watchMode: false,
|
||||
},
|
||||
{
|
||||
config: "test/vitest/vitest.contracts-plugin.config.ts",
|
||||
forwardedArgs: [],
|
||||
includePatterns: ["src/plugins/contracts/loader.contract.test.ts"],
|
||||
watchMode: false,
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
it("keeps the broad changed run for shared test helpers", () => {
|
||||
expect(
|
||||
resolveChangedTargetArgs(["--changed", "origin/main"], process.cwd(), () => [
|
||||
@@ -567,7 +589,11 @@ describe("scripts/test-projects full-suite sharding", () => {
|
||||
"test/vitest/vitest.unit-support.config.ts",
|
||||
"test/vitest/vitest.boundary.config.ts",
|
||||
"test/vitest/vitest.tooling.config.ts",
|
||||
"test/vitest/vitest.contracts.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-surface.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-config.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-registry.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-session.config.ts",
|
||||
"test/vitest/vitest.contracts-plugin.config.ts",
|
||||
"test/vitest/vitest.bundled.config.ts",
|
||||
"test/vitest/vitest.infra.config.ts",
|
||||
"test/vitest/vitest.hooks.config.ts",
|
||||
|
||||
@@ -5,7 +5,10 @@ import bundledConfig from "./vitest/vitest.bundled.config.ts";
|
||||
import { createCommandsLightVitestConfig } from "./vitest/vitest.commands-light.config.ts";
|
||||
import { createCommandsVitestConfig } from "./vitest/vitest.commands.config.ts";
|
||||
import baseConfig, { rootVitestProjects } from "./vitest/vitest.config.ts";
|
||||
import { createContractsVitestConfig } from "./vitest/vitest.contracts.config.ts";
|
||||
import {
|
||||
createContractsVitestConfig,
|
||||
pluginContractPatterns,
|
||||
} from "./vitest/vitest.contracts-shared.ts";
|
||||
import { createGatewayVitestConfig } from "./vitest/vitest.gateway.config.ts";
|
||||
import { createPluginSdkLightVitestConfig } from "./vitest/vitest.plugin-sdk-light.config.ts";
|
||||
import { sharedVitestConfig } from "./vitest/vitest.shared.config.ts";
|
||||
@@ -31,18 +34,18 @@ describe("projects vitest config", () => {
|
||||
expect(createCommandsVitestConfig().test.pool).toBe("threads");
|
||||
expect(createPluginSdkLightVitestConfig().test.pool).toBe("threads");
|
||||
expect(createUnitFastVitestConfig().test.pool).toBe("threads");
|
||||
expect(createContractsVitestConfig().test.pool).toBe("forks");
|
||||
expect(createContractsVitestConfig(pluginContractPatterns).test.pool).toBe("forks");
|
||||
});
|
||||
|
||||
it("keeps the contracts lane on the non-isolated fork runner by default", () => {
|
||||
const config = createContractsVitestConfig();
|
||||
it("keeps contract shards on the non-isolated fork runner by default", () => {
|
||||
const config = createContractsVitestConfig(pluginContractPatterns);
|
||||
expect(config.test.pool).toBe("forks");
|
||||
expect(config.test.isolate).toBe(false);
|
||||
expect(normalizeConfigPath(config.test.runner)).toBe("test/non-isolated-runner.ts");
|
||||
});
|
||||
|
||||
it("narrows the contracts lane to targeted contract files", () => {
|
||||
const config = createContractsVitestConfig({}, [
|
||||
const config = createContractsVitestConfig(pluginContractPatterns, {}, [
|
||||
"node",
|
||||
"vitest",
|
||||
"run",
|
||||
|
||||
@@ -13,7 +13,11 @@ export const rootVitestProjects = [
|
||||
"test/vitest/vitest.unit.config.ts",
|
||||
"test/vitest/vitest.infra.config.ts",
|
||||
"test/vitest/vitest.boundary.config.ts",
|
||||
"test/vitest/vitest.contracts.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-surface.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-config.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-registry.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-session.config.ts",
|
||||
"test/vitest/vitest.contracts-plugin.config.ts",
|
||||
"test/vitest/vitest.bundled.config.ts",
|
||||
"test/vitest/vitest.gateway-core.config.ts",
|
||||
"test/vitest/vitest.gateway-client.config.ts",
|
||||
|
||||
6
test/vitest/vitest.contracts-channel-config.config.ts
Normal file
6
test/vitest/vitest.contracts-channel-config.config.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
channelConfigContractPatterns,
|
||||
createContractsVitestConfig,
|
||||
} from "./vitest.contracts-shared.ts";
|
||||
|
||||
export default createContractsVitestConfig(channelConfigContractPatterns);
|
||||
6
test/vitest/vitest.contracts-channel-registry.config.ts
Normal file
6
test/vitest/vitest.contracts-channel-registry.config.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
channelRegistryContractPatterns,
|
||||
createContractsVitestConfig,
|
||||
} from "./vitest.contracts-shared.ts";
|
||||
|
||||
export default createContractsVitestConfig(channelRegistryContractPatterns);
|
||||
6
test/vitest/vitest.contracts-channel-session.config.ts
Normal file
6
test/vitest/vitest.contracts-channel-session.config.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
channelSessionContractPatterns,
|
||||
createContractsVitestConfig,
|
||||
} from "./vitest.contracts-shared.ts";
|
||||
|
||||
export default createContractsVitestConfig(channelSessionContractPatterns);
|
||||
6
test/vitest/vitest.contracts-channel-surface.config.ts
Normal file
6
test/vitest/vitest.contracts-channel-surface.config.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import {
|
||||
channelSurfaceContractPatterns,
|
||||
createContractsVitestConfig,
|
||||
} from "./vitest.contracts-shared.ts";
|
||||
|
||||
export default createContractsVitestConfig(channelSurfaceContractPatterns);
|
||||
3
test/vitest/vitest.contracts-plugin.config.ts
Normal file
3
test/vitest/vitest.contracts-plugin.config.ts
Normal file
@@ -0,0 +1,3 @@
|
||||
import { createContractsVitestConfig, pluginContractPatterns } from "./vitest.contracts-shared.ts";
|
||||
|
||||
export default createContractsVitestConfig(pluginContractPatterns);
|
||||
69
test/vitest/vitest.contracts-shared.ts
Normal file
69
test/vitest/vitest.contracts-shared.ts
Normal file
@@ -0,0 +1,69 @@
|
||||
import { defineConfig } from "vitest/config";
|
||||
import { loadPatternListFromEnv, narrowIncludePatternsForCli } from "./vitest.pattern-file.ts";
|
||||
import { nonIsolatedRunnerPath, sharedVitestConfig } from "./vitest.shared.config.ts";
|
||||
|
||||
const base = sharedVitestConfig as Record<string, unknown>;
|
||||
const baseTest = sharedVitestConfig.test ?? {};
|
||||
|
||||
export const channelSurfaceContractPatterns = [
|
||||
"src/channels/plugins/contracts/channel-catalog.contract.test.ts",
|
||||
"src/channels/plugins/contracts/channel-import-guardrails.test.ts",
|
||||
"src/channels/plugins/contracts/group-policy.fallback.contract.test.ts",
|
||||
"src/channels/plugins/contracts/outbound-payload.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-a.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-e.contract.test.ts",
|
||||
];
|
||||
|
||||
export const channelConfigContractPatterns = [
|
||||
"src/channels/plugins/contracts/plugins-core.authorize-config-write.policy.contract.test.ts",
|
||||
"src/channels/plugins/contracts/plugins-core.authorize-config-write.targets.contract.test.ts",
|
||||
"src/channels/plugins/contracts/plugins-core.catalog.entries.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-b.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-f.contract.test.ts",
|
||||
];
|
||||
|
||||
export const channelRegistryContractPatterns = [
|
||||
"src/channels/plugins/contracts/plugins-core.catalog.paths.contract.test.ts",
|
||||
"src/channels/plugins/contracts/plugins-core.loader.contract.test.ts",
|
||||
"src/channels/plugins/contracts/plugins-core.registry.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-c.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-g.contract.test.ts",
|
||||
];
|
||||
|
||||
export const channelSessionContractPatterns = [
|
||||
"src/channels/plugins/contracts/plugins-core.resolve-config-writes.contract.test.ts",
|
||||
"src/channels/plugins/contracts/registry.contract.test.ts",
|
||||
"src/channels/plugins/contracts/session-binding.registry-backed.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-d.contract.test.ts",
|
||||
"src/channels/plugins/contracts/*-shard-h.contract.test.ts",
|
||||
];
|
||||
|
||||
export const pluginContractPatterns = ["src/plugins/contracts/**/*.test.ts"];
|
||||
|
||||
export function loadContractsIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createContractsVitestConfig(
|
||||
includePatterns: string[],
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
argv: string[] = process.argv,
|
||||
) {
|
||||
const cliIncludePatterns = narrowIncludePatternsForCli(includePatterns, argv);
|
||||
return defineConfig({
|
||||
...base,
|
||||
test: {
|
||||
...baseTest,
|
||||
isolate: false,
|
||||
// Contract shards intentionally run non-isolated and load broad registries.
|
||||
// Use forks so full-suite parallel runs do not hit worker-thread heap limits.
|
||||
pool: "forks",
|
||||
runner: nonIsolatedRunnerPath,
|
||||
setupFiles: baseTest.setupFiles ?? [],
|
||||
include: loadContractsIncludePatternsFromEnv(env) ?? cliIncludePatterns ?? includePatterns,
|
||||
passWithNoTests: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
@@ -1,41 +0,0 @@
|
||||
import { defineConfig } from "vitest/config";
|
||||
import { loadPatternListFromEnv, narrowIncludePatternsForCli } from "./vitest.pattern-file.ts";
|
||||
import { nonIsolatedRunnerPath, sharedVitestConfig } from "./vitest.shared.config.ts";
|
||||
|
||||
const base = sharedVitestConfig as Record<string, unknown>;
|
||||
const baseTest = sharedVitestConfig.test ?? {};
|
||||
const contractIncludePatterns = [
|
||||
"src/channels/plugins/contracts/**/*.test.ts",
|
||||
"src/plugins/contracts/**/*.test.ts",
|
||||
];
|
||||
|
||||
export function loadContractsIncludePatternsFromEnv(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
): string[] | null {
|
||||
return loadPatternListFromEnv("OPENCLAW_VITEST_INCLUDE_FILE", env);
|
||||
}
|
||||
|
||||
export function createContractsVitestConfig(
|
||||
env: Record<string, string | undefined> = process.env,
|
||||
argv: string[] = process.argv,
|
||||
) {
|
||||
const cliIncludePatterns = narrowIncludePatternsForCli(contractIncludePatterns, argv);
|
||||
return defineConfig({
|
||||
...base,
|
||||
test: {
|
||||
...baseTest,
|
||||
isolate: false,
|
||||
// The contracts shard intentionally runs non-isolated and loads hundreds of
|
||||
// contract files. Use forks so full-suite parallel runs do not hit
|
||||
// Vitest worker-thread heap limits.
|
||||
pool: "forks",
|
||||
runner: nonIsolatedRunnerPath,
|
||||
setupFiles: baseTest.setupFiles ?? [],
|
||||
include:
|
||||
loadContractsIncludePatternsFromEnv(env) ?? cliIncludePatterns ?? contractIncludePatterns,
|
||||
passWithNoTests: true,
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export default createContractsVitestConfig();
|
||||
@@ -134,7 +134,12 @@ export const sharedVitestConfig = {
|
||||
"test/vitest/vitest.bundled.config.ts",
|
||||
"test/vitest/vitest.cli.config.ts",
|
||||
"vitest.config.ts",
|
||||
"test/vitest/vitest.contracts.config.ts",
|
||||
"test/vitest/vitest.contracts-shared.ts",
|
||||
"test/vitest/vitest.contracts-channel-surface.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-config.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-registry.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-session.config.ts",
|
||||
"test/vitest/vitest.contracts-plugin.config.ts",
|
||||
"test/vitest/vitest.cron.config.ts",
|
||||
"test/vitest/vitest.daemon.config.ts",
|
||||
"test/vitest/vitest.e2e.config.ts",
|
||||
|
||||
@@ -40,7 +40,13 @@ export const fullSuiteVitestShards = [
|
||||
{
|
||||
config: "test/vitest/vitest.full-core-contracts.config.ts",
|
||||
name: "core-contracts",
|
||||
projects: ["test/vitest/vitest.contracts.config.ts"],
|
||||
projects: [
|
||||
"test/vitest/vitest.contracts-channel-surface.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-config.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-registry.config.ts",
|
||||
"test/vitest/vitest.contracts-channel-session.config.ts",
|
||||
"test/vitest/vitest.contracts-plugin.config.ts",
|
||||
],
|
||||
},
|
||||
{
|
||||
config: "test/vitest/vitest.full-core-bundled.config.ts",
|
||||
|
||||
Reference in New Issue
Block a user