test: split agents vitest shards · openclaw/openclaw@f64e4fd
steipete
·
2026-04-28
·
via Recent Commits to openclaw:main
| Original file line number | Diff line number | Diff line change |
|---|
@@ -190,7 +190,12 @@ const SPLIT_NODE_SHARDS = new Map([
|
190 | 190 | }, |
191 | 191 | { |
192 | 192 | shardName: "agentic-agents", |
193 | | -configs: ["test/vitest/vitest.agents.config.ts"], |
| 193 | +configs: [ |
| 194 | +"test/vitest/vitest.agents-core.config.ts", |
| 195 | +"test/vitest/vitest.agents-pi-embedded.config.ts", |
| 196 | +"test/vitest/vitest.agents-support.config.ts", |
| 197 | +"test/vitest/vitest.agents-tools.config.ts", |
| 198 | +], |
194 | 199 | requiresDist: false, |
195 | 200 | }, |
196 | 201 | { |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -45,7 +45,10 @@ const FULL_SUITE_CONFIG_WEIGHT = new Map([
|
45 | 45 | ["test/vitest/vitest.gateway-client.config.ts", 178], |
46 | 46 | ["test/vitest/vitest.gateway-methods.config.ts", 177], |
47 | 47 | ["test/vitest/vitest.commands.config.ts", 175], |
48 | | -["test/vitest/vitest.agents.config.ts", 170], |
| 48 | +["test/vitest/vitest.agents-core.config.ts", 170], |
| 49 | +["test/vitest/vitest.agents-pi-embedded.config.ts", 169], |
| 50 | +["test/vitest/vitest.agents-support.config.ts", 168], |
| 51 | +["test/vitest/vitest.agents-tools.config.ts", 167], |
49 | 52 | ["test/vitest/vitest.extension-voice-call.config.ts", 169], |
50 | 53 | ["test/vitest/vitest.extensions.config.ts", 168], |
51 | 54 | ["test/vitest/vitest.extension-provider-openai.config.ts", 167], |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | 1 | import { vi } from "vitest"; |
2 | 2 | |
3 | | -vi.mock("./queue.js", () => ({ |
4 | | -clearSessionQueues: vi.fn(() => ({ followupCleared: 0, laneCleared: 0, keys: [] })), |
5 | | -})); |
| 3 | +vi.mock("./queue.js", async () => { |
| 4 | +const actual = await vi.importActual<typeof import("./queue.js")>("./queue.js"); |
| 5 | +return { |
| 6 | + ...actual, |
| 7 | +clearSessionQueues: vi.fn(() => ({ followupCleared: 0, laneCleared: 0, keys: [] })), |
| 8 | +}; |
| 9 | +}); |
| Original file line number | Diff line number | Diff line change |
|---|
@@ -26,10 +26,14 @@ vi.mock("../group-activation.js", () => ({
|
26 | 26 | normalizeGroupActivation: (value: unknown) => value, |
27 | 27 | })); |
28 | 28 | |
29 | | -vi.mock("./queue.js", () => ({ |
30 | | -getFollowupQueueDepth: () => 0, |
31 | | -resolveQueueSettings: () => ({ mode: "interrupt" }), |
32 | | -})); |
| 29 | +vi.mock("./queue.js", async () => { |
| 30 | +const actual = await vi.importActual<typeof import("./queue.js")>("./queue.js"); |
| 31 | +return { |
| 32 | + ...actual, |
| 33 | +getFollowupQueueDepth: () => 0, |
| 34 | +resolveQueueSettings: () => ({ mode: "interrupt" }), |
| 35 | +}; |
| 36 | +}); |
33 | 37 | |
34 | 38 | const { buildStatusReply } = await import("./commands-status.js"); |
35 | 39 | |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -171,7 +171,12 @@ describe("scripts/lib/ci-node-test-plan.mjs", () => {
|
171 | 171 | expect(agentShard).toEqual({ |
172 | 172 | checkName: "checks-node-agentic-agents", |
173 | 173 | shardName: "agentic-agents", |
174 | | -configs: ["test/vitest/vitest.agents.config.ts"], |
| 174 | +configs: [ |
| 175 | +"test/vitest/vitest.agents-core.config.ts", |
| 176 | +"test/vitest/vitest.agents-pi-embedded.config.ts", |
| 177 | +"test/vitest/vitest.agents-support.config.ts", |
| 178 | +"test/vitest/vitest.agents-tools.config.ts", |
| 179 | +], |
175 | 180 | requiresDist: false, |
176 | 181 | }); |
177 | 182 | expect(pluginSdkShard).toEqual({ |
|
| Original file line number | Diff line number | Diff line change |
|---|
@@ -1057,7 +1057,10 @@ describe("scripts/test-projects full-suite sharding", () => {
|
1057 | 1057 | "test/vitest/vitest.cli.config.ts", |
1058 | 1058 | "test/vitest/vitest.commands-light.config.ts", |
1059 | 1059 | "test/vitest/vitest.commands.config.ts", |
1060 | | -"test/vitest/vitest.agents.config.ts", |
| 1060 | +"test/vitest/vitest.agents-core.config.ts", |
| 1061 | +"test/vitest/vitest.agents-pi-embedded.config.ts", |
| 1062 | +"test/vitest/vitest.agents-support.config.ts", |
| 1063 | +"test/vitest/vitest.agents-tools.config.ts", |
1061 | 1064 | "test/vitest/vitest.daemon.config.ts", |
1062 | 1065 | "test/vitest/vitest.plugin-sdk-light.config.ts", |
1063 | 1066 | "test/vitest/vitest.plugin-sdk.config.ts", |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
1 | 1 | import { afterEach, describe, expect, it } from "vitest"; |
2 | 2 | import { createPatternFileHelper } from "./helpers/pattern-file.js"; |
3 | 3 | import { normalizeConfigPath, normalizeConfigPaths } from "./helpers/vitest-config-paths.js"; |
| 4 | +import { createAgentsCoreVitestConfig } from "./vitest/vitest.agents-core.config.ts"; |
| 5 | +import { createAgentsPiEmbeddedVitestConfig } from "./vitest/vitest.agents-pi-embedded.config.ts"; |
| 6 | +import { createAgentsSupportVitestConfig } from "./vitest/vitest.agents-support.config.ts"; |
| 7 | +import { createAgentsToolsVitestConfig } from "./vitest/vitest.agents-tools.config.ts"; |
4 | 8 | import { createAgentsVitestConfig } from "./vitest/vitest.agents.config.ts"; |
5 | 9 | import bundledConfig from "./vitest/vitest.bundled.config.ts"; |
6 | 10 | import { createCommandsLightVitestConfig } from "./vitest/vitest.commands-light.config.ts"; |
@@ -45,6 +49,10 @@ describe("projects vitest config", () => {
|
45 | 49 | it("keeps root projects on their expected pool defaults", () => { |
46 | 50 | expect(createGatewayVitestConfig().test.pool).toBe("threads"); |
47 | 51 | expect(createAgentsVitestConfig().test.pool).toBe("threads"); |
| 52 | +expect(createAgentsCoreVitestConfig().test.pool).toBe("threads"); |
| 53 | +expect(createAgentsPiEmbeddedVitestConfig().test.pool).toBe("threads"); |
| 54 | +expect(createAgentsSupportVitestConfig().test.pool).toBe("threads"); |
| 55 | +expect(createAgentsToolsVitestConfig().test.pool).toBe("threads"); |
48 | 56 | expect(createCommandsLightVitestConfig().test.pool).toBe("threads"); |
49 | 57 | expect(createCommandsVitestConfig().test.pool).toBe("threads"); |
50 | 58 | expect(createPluginSdkLightVitestConfig().test.pool).toBe("threads"); |
|
| Original file line number | Diff line number | Diff line change |
|---|
|
| 1 | +import { agentsCoreTestPatterns } from "./vitest.agents-paths.mjs"; |
| 2 | +import { createScopedVitestConfig } from "./vitest.scoped-config.ts"; |
| 3 | + |
| 4 | +export function createAgentsCoreVitestConfig(env?: Record<string, string | undefined>) { |
| 5 | +return createScopedVitestConfig(agentsCoreTestPatterns, { |
| 6 | +dir: "src/agents", |
| 7 | + env, |
| 8 | +name: "agents-core", |
| 9 | +}); |
| 10 | +} |
| 11 | + |
| 12 | +export default createAgentsCoreVitestConfig(); |
| Original file line number | Diff line number | Diff line change |
|---|
|
| 1 | +export const agentsAllTestPatterns = ["src/agents/**/*.test.ts"]; |
| 2 | + |
| 3 | +export const agentsCoreTestPatterns = ["src/agents/*.test.ts"]; |
| 4 | + |
| 5 | +export const agentsPiEmbeddedTestPatterns = ["src/agents/pi-embedded-runner/**/*.test.ts"]; |
| 6 | + |
| 7 | +export const agentsToolsTestPatterns = ["src/agents/tools/**/*.test.ts"]; |
| 8 | + |
| 9 | +export const agentsSupportTestPatterns = ["src/agents/*/**/*.test.ts"]; |
| 10 | + |
| 11 | +export const agentsSupportExcludePatterns = [ |
| 12 | +"src/agents/pi-embedded-runner/**", |
| 13 | +"src/agents/tools/**", |
| 14 | +]; |
| Original file line number | Diff line number | Diff line change |
|---|
|
| 1 | +import { agentsPiEmbeddedTestPatterns } from "./vitest.agents-paths.mjs"; |
| 2 | +import { createScopedVitestConfig } from "./vitest.scoped-config.ts"; |
| 3 | + |
| 4 | +export function createAgentsPiEmbeddedVitestConfig(env?: Record<string, string | undefined>) { |
| 5 | +return createScopedVitestConfig(agentsPiEmbeddedTestPatterns, { |
| 6 | +dir: "src/agents", |
| 7 | + env, |
| 8 | +name: "agents-pi-embedded", |
| 9 | +}); |
| 10 | +} |
| 11 | + |
| 12 | +export default createAgentsPiEmbeddedVitestConfig(); |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。