Repository navigation
test: add backgrounding scenarios to the session fixtures (#206) - #215
Conversation
Criteria not yet verified: Gradle cannot run in this environment; CI's android job is the only check. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
1 failing (web), Swift and Kotlin predicted red on the drop scenario Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
…205) Swift and Kotlin sent tool_cancelled on the dead socket; web did not. Web now reports the state change before the cancel, like the native cores. 1 failing -> 0 failing (web); Swift and Kotlin verified by CI Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
The drop scenario in session-scenarios.json pins the same behaviour deterministically. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
2 suites failing: the Swift and Kotlin runners do not know the background steps yet Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
2 failing -> 0 failing (unverified locally: no Swift or Android toolchain, CI runs both) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
V3RON
left a comment
There was a problem hiding this comment.
Request changes (posted as a comment, because GitHub does not let the PR's author request changes): 1 blocker, 1 should-fix, 1 nit. Spec: issue #206 and the #188 design comment.
Fix first: the call-in-flight scenario fails in the ios and android CI jobs, because the fix that stops the cores answering an aborted call is in #214, not on this base. Stack this branch on #214, or rebase it onto main once #214 merges.
Generated by Claude Code
…s-to-the-session-f' into issue-206-add-backgrounding-scenarios-to-the-sess
Adds a scenario that ends right after drop, background, advance, so the leftover check sees any connect. Drops a stray 'only' from the fixtures README. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
Dart suite now replays session-scenarios-background.json. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
V3RON
left a comment
There was a problem hiding this comment.
Comment: 0 blockers, 1 should-fix, 1 nit. Both round-1 findings are fixed, the merge with main is clean, and CI is green on 2238c21.
Spec: issue #206.
Fix first: the stale "Only the Swift and Kotlin suites load it" line in the fixtures README (line 203). The Dart suite replays the file now.
Generated by Claude Code
…os (#206) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
… suites (#206) Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4
Requested by Szymon · project thread
Closes #206
What changed
Adds
packages/native/fixtures/session-scenarios-background.jsonwith five scenarios, plus thebackgroundandforegrounddrive steps and thesuspendwire output. The Swift, Kotlin and Dart suites replay it; the web suite does not, since the web core has no background state.The Dart suite (
packages/flutter/test/core/scenarios_test.dart) now replays the file instead of skipping it. Its runner already had thebackground,foregroundandsuspendsteps, and the Dart core already behaves as the scenarios require, so no core change was needed. CI'siosandandroidjobs replay the file on Swift and Kotlin and pass.Suites that load
session-scenarios-background.json: Swift (SessionScenariosTests.swift), Kotlin (SessionScenariosTest.kt), Dart (scenarios_test.dart). The fixtures-conformance suites skip it, like the other scenario file.Acceptance criteria
advancepasses the backoff captestReplaysEveryScenarioInSessionScenariosBackgroundJson,replays every scenario in session-scenarios-background json, Dart groupsession-scenarios-background.jsonpackages/native/fixtures/README.mdE2E evidence
not applicable (test fixtures and test runners only)
Checklist
CHANGELOG.mdhas an entry underUnreleased(writing-changelogskill), or the change is not user-visible: not user-visiblewriting-user-docsskill), or the change is not user-visible: not user-visibleindex.ts; no new directnode:*I/O outside an adapterarchitectureskill applied, exceptions explained abovedocs/ARCHITECTURE.mdupdated if a surface it describes changed: not neededOut of scope
none
Status
Implement: done Review: done E2E: not applicable Ready: yes
🤖 Generated with Claude Code
https://claude.ai/code/session_01JgdGJWmrZxTrqHkodG5oj4