mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-06 05:51:15 +08:00
fix(e2e): keep parallels json output parseable
This commit is contained in:
@@ -26,6 +26,7 @@ import {
|
||||
resolveWindowsProviderAuth,
|
||||
run,
|
||||
shellQuote,
|
||||
withProgressOnStderr,
|
||||
} from "../../scripts/e2e/parallels/common.ts";
|
||||
import { resolveHostCommandInvocation } from "../../scripts/e2e/parallels/host-command.ts";
|
||||
import { testing as hostServerTesting } from "../../scripts/e2e/parallels/host-server.ts";
|
||||
@@ -327,6 +328,26 @@ describe("Parallels smoke model selection", () => {
|
||||
expect(retained).toBe(`${"a".repeat(2)}${"b".repeat(10)}`);
|
||||
});
|
||||
|
||||
it("keeps JSON-mode progress off stdout", async () => {
|
||||
const stdoutWrite = vi.spyOn(process.stdout, "write").mockImplementation(() => true);
|
||||
const stderrWrite = vi.spyOn(process.stderr, "write").mockImplementation(() => true);
|
||||
try {
|
||||
await withProgressOnStderr(async () => {
|
||||
const { say } = await import("../../scripts/e2e/parallels/common.ts");
|
||||
say("progress");
|
||||
process.stdout.write('{"ok":true}\n');
|
||||
});
|
||||
|
||||
expect(stdoutWrite).toHaveBeenCalledTimes(1);
|
||||
expect(stdoutWrite).toHaveBeenCalledWith('{"ok":true}\n');
|
||||
expect(JSON.parse(String(stdoutWrite.mock.calls[0]?.[0]))).toEqual({ ok: true });
|
||||
expect(stderrWrite).toHaveBeenCalledWith("==> progress\n");
|
||||
} finally {
|
||||
stdoutWrite.mockRestore();
|
||||
stderrWrite.mockRestore();
|
||||
}
|
||||
});
|
||||
|
||||
it("waits for host artifact server exit after SIGKILL before stop resolves", async () => {
|
||||
vi.useFakeTimers();
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user