From 3e67671d92b60dfa3c756e010a2bb14f4ace591c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 30 Jul 2026 00:00:14 -0700 Subject: [PATCH] fix(e2e): apply default service identity per flow (#116265) --- scripts/e2e/lib/doctor-install-switch/scenario.sh | 12 +++++++----- test/scripts/docker-build-helper.test.ts | 15 ++++++++------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/scripts/e2e/lib/doctor-install-switch/scenario.sh b/scripts/e2e/lib/doctor-install-switch/scenario.sh index a58e94398a02..3fc3a3ec684c 100644 --- a/scripts/e2e/lib/doctor-install-switch/scenario.sh +++ b/scripts/e2e/lib/doctor-install-switch/scenario.sh @@ -60,7 +60,7 @@ update_doctor_env+=" OPENCLAW_UPDATE_PARENT_SUPPORTS_GATEWAY_RESTART=1" update_doctor_env+=" OPENCLAW_UPDATE_PARENT_ALLOWS_GATEWAY_SERVICE_REPAIR=1" update_doctor_env+=" OPENCLAW_UPDATE_PARENT_ALLOWS_GATEWAY_ACTIVATION=0" -create_default_service_state() { +use_default_service_identity() { local account_home account_home="$(node -p 'require("node:os").userInfo().homedir')" @@ -73,7 +73,6 @@ create_default_service_state() { "$account_home/.config/powershell" \ "$account_home/.local/bin/openclaw-wrapper" \ "$account_home/openclaw-wrapper-argv.log" - openclaw_test_state_create "$account_home" empty export HOME="$account_home" export USERPROFILE="$account_home" unset OPENCLAW_HOME OPENCLAW_STATE_DIR OPENCLAW_CONFIG_PATH @@ -158,7 +157,8 @@ run_flow() { local command_timeout="${OPENCLAW_DOCKER_DOCTOR_SWITCH_COMMAND_TIMEOUT:-900s}" echo "== Flow: $name ==" - create_default_service_state + openclaw_test_state_create "switch-${name}" empty + use_default_service_identity export USER="testuser" if ! openclaw_e2e_maybe_timeout "$command_timeout" bash -c "$install_cmd" >"$install_log" 2>&1; then @@ -282,7 +282,8 @@ run_proxy_env_flow() { local command_timeout="${OPENCLAW_DOCKER_DOCTOR_SWITCH_COMMAND_TIMEOUT:-900s}" echo "== Flow: $name ==" - create_default_service_state + openclaw_test_state_create "switch-${name}" empty + use_default_service_identity export USER="testuser" unit_path="$HOME/.config/systemd/user/openclaw-gateway.service" @@ -328,7 +329,8 @@ run_wrapper_flow() { local command_timeout="${OPENCLAW_DOCKER_DOCTOR_SWITCH_COMMAND_TIMEOUT:-900s}" echo "== Flow: $name ==" - create_default_service_state + openclaw_test_state_create "switch-${name}" empty + use_default_service_identity export USER="testuser" mkdir -p "$HOME/.local/bin" local wrapper="$HOME/.local/bin/openclaw-wrapper" diff --git a/test/scripts/docker-build-helper.test.ts b/test/scripts/docker-build-helper.test.ts index ff753665cbb9..c27bb44911de 100644 --- a/test/scripts/docker-build-helper.test.ts +++ b/test/scripts/docker-build-helper.test.ts @@ -4390,13 +4390,13 @@ heartbeat_elapsed="\${BASH_REMATCH[1]}" expectTextToIncludeAll(scenario, [ 'command_timeout="${OPENCLAW_DOCKER_DOCTOR_SWITCH_COMMAND_TIMEOUT:-900s}"', - [ - 'openclaw_test_state_create "$account_home" empty', - ' export HOME="$account_home"', - ' export USERPROFILE="$account_home"', - " unset OPENCLAW_HOME OPENCLAW_STATE_DIR OPENCLAW_CONFIG_PATH", - ].join("\n"), - "create_default_service_state", + "use_default_service_identity() {", + "local account_home", + 'account_home="$(node -p \'require("node:os").userInfo().homedir\')"', + 'export HOME="$account_home"', + 'export USERPROFILE="$account_home"', + "unset OPENCLAW_HOME OPENCLAW_STATE_DIR OPENCLAW_CONFIG_PATH", + 'openclaw_test_state_create "switch-${name}" empty\n use_default_service_identity', 'openclaw_e2e_maybe_timeout "$command_timeout" bash -c "$install_cmd"', 'openclaw_e2e_maybe_timeout "$command_timeout" bash -c "$doctor_cmd"', 'openclaw_e2e_maybe_timeout "$command_timeout" "$npm_bin" gateway install --wrapper "$wrapper" --force', @@ -4407,6 +4407,7 @@ heartbeat_elapsed="\${BASH_REMATCH[1]}" scenario.match(/unset OPENCLAW_HOME OPENCLAW_STATE_DIR OPENCLAW_CONFIG_PATH/gu), ).toHaveLength(1); expect(scenario.match(/export USERPROFILE="\$account_home"/gu)).toHaveLength(1); + expect(scenario.match(/^ use_default_service_identity$/gmu)).toHaveLength(3); expect(scenario).not.toMatch(/^\s*if ! timeout "\$command_timeout"/mu); });