























@@ -247,6 +247,18 @@ function isRetryableGatewayCallError(details: string): boolean {
247247);
248248}
249249250+function createQaGatewayChildLogCollector() {
251+const chunks: Buffer[] = [];
252+return {
253+push(chunk: Buffer) {
254+chunks.push(Buffer.from(chunk));
255+},
256+text() {
257+return Buffer.concat(chunks).toString("utf8").trim();
258+},
259+};
260+}
261+250262async function fetchLocalGatewayHealth(params: {
251263baseUrl: string;
252264healthPath: "/readyz" | "/healthz";
@@ -307,6 +319,7 @@ export const __testing = {
307319 resolveQaOwnerPluginIdsForProviderIds,
308320 resolveQaBundledPluginSourceDir,
309321 resolveQaRuntimeHostVersion,
322+ createQaGatewayChildLogCollector,
310323 createQaBundledPluginsDir,
311324 stopQaGatewayChildProcessTree,
312325};
@@ -574,13 +587,13 @@ export async function startQaGatewayChild(params: {
574587};
575588const stdout: Buffer[] = [];
576589const stderr: Buffer[] = [];
590+const output = createQaGatewayChildLogCollector();
577591const stdoutLogPath = path.join(tempRoot, "gateway.stdout.log");
578592const stderrLogPath = path.join(tempRoot, "gateway.stderr.log");
579593const stdoutLog = createWriteStream(stdoutLogPath, { flags: "a" });
580594const stderrLog = createWriteStream(stderrLogPath, { flags: "a" });
581595582-const logs = () =>
583-`${Buffer.concat(stdout).toString("utf8")}\n${Buffer.concat(stderr).toString("utf8")}`.trim();
596+const logs = () => output.text();
584597const keepTemp = process.env.OPENCLAW_QA_KEEP_TEMP === "1";
585598let gatewayPort = 0;
586599let baseUrl = "";
@@ -667,11 +680,13 @@ export async function startQaGatewayChild(params: {
667680attemptChild.stdout.on("data", (chunk) => {
668681const buffer = Buffer.from(chunk);
669682stdout.push(buffer);
683+output.push(buffer);
670684stdoutLog.write(buffer);
671685});
672686attemptChild.stderr.on("data", (chunk) => {
673687const buffer = Buffer.from(chunk);
674688stderr.push(buffer);
689+output.push(buffer);
675690stderrLog.write(buffer);
676691});
677692child = attemptChild;
@@ -760,11 +775,13 @@ export async function startQaGatewayChild(params: {
760775nextChild.stdout.on("data", (chunk) => {
761776const buffer = Buffer.from(chunk);
762777stdout.push(buffer);
778+output.push(buffer);
763779stdoutLog.write(buffer);
764780});
765781nextChild.stderr.on("data", (chunk) => {
766782const buffer = Buffer.from(chunk);
767783stderr.push(buffer);
784+output.push(buffer);
768785stderrLog.write(buffer);
769786});
770787此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。