perf(test): stabilize e2e harness and reduce flaky gateway coverage

This commit is contained in:
Peter Steinberger
2026-02-13 17:31:58 +00:00
parent 2ab7715d16
commit fdfc34fa1f
25 changed files with 427 additions and 940 deletions

View File

@@ -33,9 +33,14 @@ import {
testTailnetIPv4,
} from "./test-helpers.mocks.js";
// Preload the gateway server module once per worker.
// Important: `test-helpers.mocks` must run before importing the server so vi.mock hooks apply.
const serverModulePromise = import("./server.js");
// Import lazily after test env/home setup so config/session paths resolve to test dirs.
// Keep one cached module per worker for speed.
let serverModulePromise: Promise<typeof import("./server.js")> | undefined;
async function getServerModule() {
serverModulePromise ??= import("./server.js");
return await serverModulePromise;
}
let previousHome: string | undefined;
let previousUserProfile: string | undefined;
@@ -147,7 +152,7 @@ async function resetGatewayTestState(options: { uniqueConfigRoot: boolean }) {
embeddedRunMock.waitResults.clear();
drainSystemEvents(resolveMainSessionKeyFromConfig());
resetAgentRunContextForTest();
const mod = await serverModulePromise;
const mod = await getServerModule();
mod.__resetModelCatalogCacheForTest();
piSdkMock.enabled = false;
piSdkMock.discoverCalls = 0;
@@ -288,7 +293,7 @@ export function onceMessage<T = unknown>(
}
export async function startGatewayServer(port: number, opts?: GatewayServerOptions) {
const mod = await serverModulePromise;
const mod = await getServerModule();
const resolvedOpts =
opts?.controlUiEnabled === undefined ? { ...opts, controlUiEnabled: false } : opts;
return await mod.startGatewayServer(port, resolvedOpts);