diff --git a/scripts/e2e/parallels-macos-smoke.sh b/scripts/e2e/parallels-macos-smoke.sh index ddb6376715b..c7c6e7179f7 100644 --- a/scripts/e2e/parallels-macos-smoke.sh +++ b/scripts/e2e/parallels-macos-smoke.sh @@ -1485,9 +1485,13 @@ show_gateway_status_compat() { } verify_turn() { + local agent_log agent_done agent_runner + agent_log="/tmp/openclaw-parallels-agent-turn.log" + agent_done="/tmp/openclaw-parallels-agent-turn.done" + agent_runner="/tmp/openclaw-parallels-agent-turn.sh" guest_current_user_exec "$GUEST_NODE_BIN" "$GUEST_OPENCLAW_ENTRY" models set "$MODEL_ID" guest_current_user_exec "$GUEST_NODE_BIN" "$GUEST_OPENCLAW_ENTRY" config set agents.defaults.skipBootstrap true --strict-json - guest_current_user_sh "$(cat < { new Error("document-extract failed to stage bundled runtime deps after 463ms"), ), ).toBe(true); + expect( + shouldRetryCrossOsAgentTurnError( + new Error( + "PluginLoadFailureError: plugin load failed: qqbot: Error: ENOENT: no such file or directory, open '/tmp/home/.openclaw/plugin-runtime-deps/openclaw-2026.4.27-beta.1/dist/console-DnTGmMkY.js'", + ), + ), + ).toBe(true); expect(shouldRetryCrossOsAgentTurnError(new Error("Agent output did not contain OK."))).toBe( false, ); diff --git a/test/scripts/parallels-smoke-model.test.ts b/test/scripts/parallels-smoke-model.test.ts index c03b2633c97..46b6d6bd0f4 100644 --- a/test/scripts/parallels-smoke-model.test.ts +++ b/test/scripts/parallels-smoke-model.test.ts @@ -54,4 +54,11 @@ describe("Parallels smoke model selection", () => { expect(script).toContain("deadline=$((SECONDS + TIMEOUT_GATEWAY_S))"); expect(script).toContain("gateway status --deep --require-rpc --timeout 30000"); }); + + it("runs the macOS agent turn through the logged guest runner", () => { + const script = readFileSync("scripts/e2e/parallels-macos-smoke.sh", "utf8"); + + expect(script).toContain('agent_log="/tmp/openclaw-parallels-agent-turn.log"'); + expect(script).toContain("run_logged_guest_current_user_sh"); + }); });