mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-30 08:43:37 +00:00
fix(test): avoid source gateway import in rpc walk
This commit is contained in:
@@ -1,12 +1,52 @@
|
||||
import { mkdirSync, mkdtempSync, rmSync, writeFileSync } from "node:fs";
|
||||
import { tmpdir } from "node:os";
|
||||
import path from "node:path";
|
||||
import { describe, expect, it, vi } from "vitest";
|
||||
import {
|
||||
assertResourceCeiling,
|
||||
fetchJson,
|
||||
findDistCallGatewayModuleFiles,
|
||||
sampleProcess,
|
||||
sampleWindowsProcessByPort,
|
||||
summarizeProcessSamples,
|
||||
usesBuiltOpenClawEntry,
|
||||
} from "../../scripts/e2e/kitchen-sink-rpc-walk.mjs";
|
||||
|
||||
describe("kitchen-sink RPC caller loading", () => {
|
||||
it("uses built callGateway chunks for dist and packaged entries", () => {
|
||||
expect(usesBuiltOpenClawEntry({ command: "node", baseArgs: ["dist/index.js"] })).toBe(true);
|
||||
expect(
|
||||
usesBuiltOpenClawEntry(
|
||||
{ command: "node", baseArgs: ["/app/openclaw.mjs"] },
|
||||
"/repo",
|
||||
{ OPENCLAW_ENTRY: "/app/openclaw.mjs" },
|
||||
),
|
||||
).toBe(true);
|
||||
});
|
||||
|
||||
it("does not deep-import gateway TypeScript for source pnpm runners", () => {
|
||||
expect(usesBuiltOpenClawEntry({ pnpm: true, baseArgs: ["openclaw"] })).toBe(false);
|
||||
expect(usesBuiltOpenClawEntry({ command: "node", baseArgs: ["scripts/dev.mjs"] })).toBe(false);
|
||||
});
|
||||
|
||||
it("finds only built callGateway chunks", () => {
|
||||
const root = mkdtempSync(path.join(tmpdir(), "openclaw-rpc-call-chunks-"));
|
||||
try {
|
||||
mkdirSync(path.join(root, "dist"));
|
||||
writeFileSync(path.join(root, "dist", "call-Abc123.js"), "");
|
||||
writeFileSync(path.join(root, "dist", "call.runtime-Def456.js"), "");
|
||||
writeFileSync(path.join(root, "dist", "index.js"), "");
|
||||
|
||||
expect(findDistCallGatewayModuleFiles(root)).toEqual([
|
||||
"call-Abc123.js",
|
||||
"call.runtime-Def456.js",
|
||||
]);
|
||||
} finally {
|
||||
rmSync(root, { recursive: true, force: true });
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
describe("kitchen-sink RPC process sampling", () => {
|
||||
it("samples RSS on Windows instead of silently disabling the resource guard", async () => {
|
||||
const calls: Array<{ command: string; args: string[] }> = [];
|
||||
|
||||
@@ -189,8 +189,10 @@ describe("scripts/lib/plugin-prerelease-test-plan.mjs", () => {
|
||||
expect(walkScript).toContain("tts.providers");
|
||||
expect(walkScript).toContain("plugins.uiDescriptors");
|
||||
expect(walkScript).toContain("loadCallGatewayModule(options.runner)");
|
||||
expect(walkScript).toContain("usesPackagedOpenClawEntry(runner)");
|
||||
expect(walkScript).toContain("src/gateway/call.ts");
|
||||
expect(walkScript).toContain("usesBuiltOpenClawEntry(runner)");
|
||||
expect(walkScript).toContain('"gateway"');
|
||||
expect(walkScript).toContain('"call"');
|
||||
expect(walkScript).not.toContain("src/gateway/call.ts");
|
||||
expect(walkScript).toContain("^call(?:\\.runtime)?");
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user