mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-28 01:21:36 +00:00
fix: avoid over-sharding single include-file test batches
This commit is contained in:
@@ -400,6 +400,41 @@ describe("test planner", () => {
|
||||
artifacts.cleanupTempArtifacts();
|
||||
});
|
||||
|
||||
it("assigns single include-file CI batches to one shard instead of over-sharding them", () => {
|
||||
const env = {
|
||||
CI: "true",
|
||||
GITHUB_ACTIONS: "true",
|
||||
OPENCLAW_TEST_SHARDS: "4",
|
||||
OPENCLAW_TEST_SHARD_INDEX: "1",
|
||||
OPENCLAW_TEST_LOAD_AWARE: "0",
|
||||
};
|
||||
const artifacts = createExecutionArtifacts(env);
|
||||
const plan = buildExecutionPlan(
|
||||
{
|
||||
mode: "ci",
|
||||
passthroughArgs: [],
|
||||
},
|
||||
{
|
||||
env,
|
||||
platform: "linux",
|
||||
writeTempJsonArtifact: artifacts.writeTempJsonArtifact,
|
||||
},
|
||||
);
|
||||
|
||||
const singleFileBatch = plan.parallelUnits.find(
|
||||
(unit) =>
|
||||
unit.id.startsWith("unit-fast-") &&
|
||||
unit.fixedShardIndex === undefined &&
|
||||
Array.isArray(unit.includeFiles) &&
|
||||
unit.includeFiles.length === 1,
|
||||
);
|
||||
|
||||
expect(singleFileBatch).toBeTruthy();
|
||||
expect(plan.topLevelSingleShardAssignments.get(singleFileBatch)).toBeTypeOf("number");
|
||||
|
||||
artifacts.cleanupTempArtifacts();
|
||||
});
|
||||
|
||||
it("removes planner temp artifacts when cleanup runs after planning", () => {
|
||||
const artifacts = createExecutionArtifacts({});
|
||||
buildExecutionPlan(
|
||||
|
||||
Reference in New Issue
Block a user