test: distinguish release live shard partitions

This commit is contained in:
Peter Steinberger
2026-04-28 00:54:21 +01:00
parent 7aeb7c2a14
commit 49d069cd94
2 changed files with 35 additions and 4 deletions

View File

@@ -6,7 +6,7 @@ import { spawnPnpmRunner } from "./pnpm-runner.mjs";
const LIVE_TEST_SUFFIX = ".live.test.ts";
export const LIVE_TEST_SHARDS = Object.freeze([
export const RELEASE_LIVE_TEST_SHARDS = Object.freeze([
"native-live-src-agents",
"native-live-src-gateway-core",
"native-live-src-gateway-profiles",
@@ -15,15 +15,19 @@ export const LIVE_TEST_SHARDS = Object.freeze([
"native-live-extensions-a-k",
"native-live-extensions-l-n",
"native-live-extensions-openai",
"native-live-extensions-o-z",
"native-live-extensions-o-z-other",
"native-live-extensions-xai",
"native-live-extensions-media",
"native-live-extensions-media-audio",
"native-live-extensions-media-music",
"native-live-extensions-media-video",
]);
export const LIVE_TEST_SHARDS = Object.freeze([
...RELEASE_LIVE_TEST_SHARDS,
"native-live-extensions-o-z",
"native-live-extensions-media",
]);
function walkFiles(rootDir) {
const files = [];
if (!fs.existsSync(rootDir)) {

View File

@@ -1,6 +1,7 @@
import { describe, expect, it } from "vitest";
import {
LIVE_TEST_SHARDS,
RELEASE_LIVE_TEST_SHARDS,
collectAllLiveTestFiles,
selectLiveShardFiles,
} from "../../scripts/test-live-shard.mjs";
@@ -9,7 +10,7 @@ describe("scripts/test-live-shard", () => {
const allFiles = collectAllLiveTestFiles();
it("partitions every native live test into exactly one release shard", () => {
const selected = LIVE_TEST_SHARDS.flatMap((shard) =>
const selected = RELEASE_LIVE_TEST_SHARDS.flatMap((shard) =>
selectLiveShardFiles(shard, allFiles).map((file) => ({ file, shard })),
);
const selectedFiles = selected.map(({ file }) => file);
@@ -19,6 +20,32 @@ describe("scripts/test-live-shard", () => {
expect(new Set(selectedFiles).size).toBe(selectedFiles.length);
});
it("keeps aggregate shard aliases available outside the release partition", () => {
expect(LIVE_TEST_SHARDS).toEqual(expect.arrayContaining(RELEASE_LIVE_TEST_SHARDS));
expect(LIVE_TEST_SHARDS).toEqual(
expect.arrayContaining(["native-live-extensions-o-z", "native-live-extensions-media"]),
);
const oToZAlias = selectLiveShardFiles("native-live-extensions-o-z", allFiles);
expect(oToZAlias).toEqual(
expect.arrayContaining(selectLiveShardFiles("native-live-extensions-o-z-other", allFiles)),
);
expect(oToZAlias).toEqual(
expect.arrayContaining(selectLiveShardFiles("native-live-extensions-xai", allFiles)),
);
const mediaAlias = selectLiveShardFiles("native-live-extensions-media", allFiles);
expect(mediaAlias).toEqual(
expect.arrayContaining(selectLiveShardFiles("native-live-extensions-media-audio", allFiles)),
);
expect(mediaAlias).toEqual(
expect.arrayContaining(selectLiveShardFiles("native-live-extensions-media-music", allFiles)),
);
expect(mediaAlias).toEqual(
expect.arrayContaining(selectLiveShardFiles("native-live-extensions-media-video", allFiles)),
);
});
it("keeps slow gateway backend and media-capable extension files in their own shards", () => {
expect(selectLiveShardFiles("native-live-src-gateway-backends", allFiles)).toEqual(
expect.arrayContaining([