test: interleave cold full-suite shards

This commit is contained in:
Peter Steinberger
2026-05-06 06:08:23 +01:00
parent f531eff629
commit 4ec693a81a
3 changed files with 117 additions and 97 deletions

View File

@@ -9,6 +9,7 @@ import {
buildFullSuiteVitestRunPlans,
buildVitestRunPlans,
listFullExtensionVitestProjectConfigs,
orderFullSuiteSpecsForParallelRun,
shouldAcquireLocalHeavyCheckLock,
resolveChangedTestTargetPlan,
resolveChangedTargetArgs,
@@ -933,6 +934,24 @@ describe("scripts/test-projects local heavy-check lock", () => {
});
describe("scripts/test-projects full-suite sharding", () => {
it("interleaves heavy and light configs for cold parallel full-suite runs", () => {
const specs = [
"test/vitest/vitest.gateway.config.ts",
"test/vitest/vitest.gateway-server.config.ts",
"test/vitest/vitest.commands.config.ts",
"test/vitest/vitest.extension-memory.config.ts",
"test/vitest/vitest.extension-msteams.config.ts",
].map((config) => ({ config }));
expect(orderFullSuiteSpecsForParallelRun(specs).map((spec) => spec.config)).toEqual([
"test/vitest/vitest.gateway-server.config.ts",
"test/vitest/vitest.extension-msteams.config.ts",
"test/vitest/vitest.gateway.config.ts",
"test/vitest/vitest.extension-memory.config.ts",
"test/vitest/vitest.commands.config.ts",
]);
});
it("covers each normal full-suite test file exactly once", async () => {
const matches = await listFullSuiteTestFileMatches();
const e2eNamedIntegrationTests = new Set([