diff --git a/scripts/e2e/npm-telegram-live-docker.sh b/scripts/e2e/npm-telegram-live-docker.sh index 75ccd896082..0836860d8a8 100755 --- a/scripts/e2e/npm-telegram-live-docker.sh +++ b/scripts/e2e/npm-telegram-live-docker.sh @@ -243,7 +243,11 @@ npm_install_timeout="${OPENCLAW_E2E_NPM_INSTALL_TIMEOUT:-600s}" if [ -z "$npm_install_timeout" ] || [ "$npm_install_timeout" = "0" ]; then npm install -g "$install_source" --no-fund --no-audit elif command -v timeout >/dev/null 2>&1; then - timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + if timeout --kill-after=1s 1s true >/dev/null 2>&1; then + timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + else + timeout "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + fi else echo "timeout command not found; running package install without OPENCLAW_E2E_NPM_INSTALL_TIMEOUT" >&2 npm install -g "$install_source" --no-fund --no-audit diff --git a/scripts/e2e/npm-telegram-rtt-docker.sh b/scripts/e2e/npm-telegram-rtt-docker.sh index 5cf933a9046..5ed47da2492 100755 --- a/scripts/e2e/npm-telegram-rtt-docker.sh +++ b/scripts/e2e/npm-telegram-rtt-docker.sh @@ -267,7 +267,11 @@ npm_install_timeout="${OPENCLAW_E2E_NPM_INSTALL_TIMEOUT:-600s}" if [ -z "$npm_install_timeout" ] || [ "$npm_install_timeout" = "0" ]; then npm install -g "$install_source" --no-fund --no-audit elif command -v timeout >/dev/null 2>&1; then - timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + if timeout --kill-after=1s 1s true >/dev/null 2>&1; then + timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + else + timeout "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit + fi else echo "timeout command not found; running package install without OPENCLAW_E2E_NPM_INSTALL_TIMEOUT" >&2 npm install -g "$install_source" --no-fund --no-audit diff --git a/test/scripts/npm-telegram-live.test.ts b/test/scripts/npm-telegram-live.test.ts index 1efef3f6cbf..e03c99d996a 100644 --- a/test/scripts/npm-telegram-live.test.ts +++ b/test/scripts/npm-telegram-live.test.ts @@ -46,6 +46,10 @@ describe("package Telegram live Docker E2E", () => { expect(installRun).toContain( 'timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit', ); + expect(installRun).toContain("timeout --kill-after=1s 1s true >/dev/null 2>&1"); + expect(installRun).toContain( + 'timeout "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit', + ); expect(installRun).toContain('npm install -g "$install_source" --no-fund --no-audit'); expect(installRun).toContain('"${package_mount_args[@]}"'); expect(installRun).not.toContain('"${docker_env[@]}"'); diff --git a/test/scripts/rtt-harness.test.ts b/test/scripts/rtt-harness.test.ts index 42b46e8b9ef..5d0eaeae231 100644 --- a/test/scripts/rtt-harness.test.ts +++ b/test/scripts/rtt-harness.test.ts @@ -149,6 +149,10 @@ describe("RTT harness", () => { expect(script).toContain( 'timeout --kill-after=30s "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit', ); + expect(script).toContain("timeout --kill-after=1s 1s true >/dev/null 2>&1"); + expect(script).toContain( + 'timeout "$npm_install_timeout" npm install -g "$install_source" --no-fund --no-audit', + ); expect(script).toContain("run_logged docker_e2e_docker_run_cmd run --rm"); expect(script).not.toContain("run_logged docker run --rm"); expect(heartbeatStartIndex).toBeGreaterThan(sourceIndex);