mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-08 10:41:25 +00:00
perf(test): stabilize e2e harness and reduce flaky gateway coverage
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user