diff --git a/scripts/e2e/parallels-windows-smoke.sh b/scripts/e2e/parallels-windows-smoke.sh index 8af4617696f..ddd56da0377 100644 --- a/scripts/e2e/parallels-windows-smoke.sh +++ b/scripts/e2e/parallels-windows-smoke.sh @@ -614,6 +614,150 @@ EOF )" } +guest_run_agent_turn_process() { + local env_name_q env_value_q runner_basename runner_script_path runner_url runner_url_q + local runner_name stdout_name stderr_name done_name + local start_seconds poll_deadline startup_checked state_rc log_rc done_rc + local agent_combined done_status launcher_state + env_name_q="$(ps_single_quote "$API_KEY_ENV")" + env_value_q="$(ps_single_quote "$API_KEY_VALUE")" + runner_basename="openclaw-parallels-agent-runner-$RANDOM-$RANDOM.ps1" + runner_script_path="$MAIN_TGZ_DIR/$runner_basename" + runner_url="http://$HOST_IP:$HOST_PORT/$runner_basename" + runner_url_q="$(ps_single_quote "$runner_url")" + runner_name="openclaw-parallels-agent-$RANDOM-$RANDOM.ps1" + stdout_name="openclaw-parallels-agent-$RANDOM-$RANDOM.out.log" + stderr_name="openclaw-parallels-agent-$RANDOM-$RANDOM.err.log" + done_name="openclaw-parallels-agent-$RANDOM-$RANDOM.done" + start_seconds="$SECONDS" + poll_deadline=$((SECONDS + TIMEOUT_AGENT_S + 60)) + startup_checked=0 + + cat >"$runner_script_path" <<'EOF' +param( + [string]$StdoutPath, + [string]$StderrPath, + [string]$DonePath, + [string]$EnvName, + [string]$EnvValue +) +$ErrorActionPreference = 'Continue' +try { + if ($EnvName -ne '') { + Set-Item -Path ('Env:' + $EnvName) -Value $EnvValue + } + $node = Join-Path $env:ProgramFiles 'nodejs\node.exe' + if (-not (Test-Path $node)) { + $node = 'node' + } + $entry = Join-Path $env:APPDATA 'npm\node_modules\openclaw\openclaw.mjs' + & $node $entry agent --local --agent main --session-id 'parallels-windows-smoke' --message 'Reply with exact ASCII text OK only.' --json > $StdoutPath 2> $StderrPath + Set-Content -Path $DonePath -Value ([string]$LASTEXITCODE) + exit $LASTEXITCODE +} catch { + $_ | Out-String | Set-Content -Path $StderrPath + Set-Content -Path $DonePath -Value '1' + exit 1 +} +EOF + + guest_powershell_poll 20 "$(cat <