From ac54f80430c199a745c7d10ba1eb3e7f4062028c Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Fri, 10 Jul 2026 06:25:28 -0700 Subject: [PATCH] test(qa): scope aborted restart outcome to Codex --- extensions/qa-lab/src/scenario-catalog.test.ts | 4 +++- qa/scenarios/runtime/gateway-restart-inflight-run.yaml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/extensions/qa-lab/src/scenario-catalog.test.ts b/extensions/qa-lab/src/scenario-catalog.test.ts index ef2e19e13a13..99c294375a21 100644 --- a/extensions/qa-lab/src/scenario-catalog.test.ts +++ b/extensions/qa-lab/src/scenario-catalog.test.ts @@ -455,7 +455,9 @@ describe("qa scenario catalog", () => { expect(interruptedStatusAssertion).toBeDefined(); const interruptedStatusContract = JSON.stringify(interruptedStatusAssertion); expect(interruptedStatusContract).toContain("waited.stopReason === 'restart'"); - expect(interruptedStatusContract).toContain("waited.stopReason === 'aborted'"); + expect(interruptedStatusContract).toContain( + "env.gateway.runtimeEnv.OPENCLAW_QA_FORCE_RUNTIME === 'codex' && waited.stopReason === 'aborted'", + ); expect(interruptedStatusContract).toContain("EmbeddedAttemptSessionTakeoverError"); expect(interruptedStatusContract).toContain("AbortError"); expect(interruptedStatusContract).toContain("This operation was aborted"); diff --git a/qa/scenarios/runtime/gateway-restart-inflight-run.yaml b/qa/scenarios/runtime/gateway-restart-inflight-run.yaml index 3455b0e9c470..83fbeabdaeb3 100644 --- a/qa/scenarios/runtime/gateway-restart-inflight-run.yaml +++ b/qa/scenarios/runtime/gateway-restart-inflight-run.yaml @@ -96,7 +96,7 @@ flow: - expr: started.runId - expr: liveTurnTimeoutMs(env, 180000) - assert: - expr: "waited.status === 'ok' || waited.status === 'timeout' || (waited.status === 'error' && (waited.stopReason === 'restart' || waited.stopReason === 'aborted' || String(waited.error ?? '').includes('EmbeddedAttemptSessionTakeoverError') || String(waited.error ?? '').includes('AbortError') || String(waited.error ?? '').includes('This operation was aborted')))" + expr: "waited.status === 'ok' || waited.status === 'timeout' || (waited.status === 'error' && (waited.stopReason === 'restart' || (env.gateway.runtimeEnv.OPENCLAW_QA_FORCE_RUNTIME === 'codex' && waited.stopReason === 'aborted') || String(waited.error ?? '').includes('EmbeddedAttemptSessionTakeoverError') || String(waited.error ?? '').includes('AbortError') || String(waited.error ?? '').includes('This operation was aborted')))" message: expr: "`interrupted agent run ended with unexpected status: ${JSON.stringify(waited)}`" - set: interruptedMatches