Skip to content

test(android): prepare the snapshot helper before landmark waits - #3834

Merged
thymikee merged 2 commits into
mainfrom
fix/android-cold-capture-stall
Oct 20, 2026
Merged

thymikee merged 2 commits into
mainfrom
fix/android-cold-capture-stall

Conversation

@thymikee

@thymikee thymikee commented Oct 19, 2026 •

Copy link
Copy Markdown
Member

Summary

  • Prepare the Android snapshot helper with a required public CLI snapshot before each scenario's landmark wait. Cold helper installation and UiAutomation recovery no longer consume the app's 10-second observation window.
  • Keep the existing wait deadline and propagate failed preflights. No runtime behavior, retries or fallback policy changes.
  • Two files, +65/-0: test harness +3, evidence +62; production +0/-0. Fixes Android smoke: first fixture capture stalls before any readable snapshot #3831's smoke preparation boundary, without claiming to repair Android framework initialization.

Validation

  • Tested 62b5c078d171956d2658dd8808959be60c345ca3: pnpm check:affected --run --head 62b5c078d1 passed five checks, exactCommit=true, checkoutChanged=false; one device gate skipped, not passed. Independent review: no findings.
  • Real Android 16 arm64 smoke: all seven scenario groups passed in 42.3s after rebasing onto perf(android): reuse live helper for input and capture #3811/perf(android): bound target readiness and confirm moved clears #3815. One earlier run lost ADB; its failure and recovered repeat are retained. Focused harness/coverage tests: 25 passed.
  • Injected 10.2s cold installation: original sequence fails with wait_capture_stalled; preflight sequence passes. Missing landmarks still fail at 10s; an unavailable helper fails before the wait. Evidence.
  • Hosted Android x86_64, Apple and Linux smoke, Coverage, Integration and Repo Guards passed at 62b5c078d1. The cache build matrix was skipped; automated review is neutral. The framework connection timeout itself remains outside this fix.

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Size Report

Metric Base Current Diff
Installed (including dependencies) 5.45 MB 5.45 MB 0 B
Package (unpacked) 5.45 MB 5.45 MB 0 B
Package (download) 1.65 MB 1.65 MB -11 B

Startup median (7 runs, lower is better):

Scenario Base Current Diff
CLI --version 43.2 ms 45.6 ms +2.4 ms
CLI --help 84.1 ms 87.1 ms +2.9 ms

@thymikee
thymikee force-pushed the fix/android-cold-capture-stall branch from 1d7b240 to 62b5c07 Compare October 19, 2026 18:11
@thymikee

Copy link
Copy Markdown
Member Author

This PR is ready at 62b5c07. The change looks correct, and all 16 checks pass, including the hosted Android smoke run at this head. I know of no conflicts, and nothing else stands in the way of merge. Not blocking: the 62-line evidence doc cites local logs that readers cannot open later, so keep it only if the repo keeps docs/evidence files, and the android-helper backend assert in https://github.com/callstack/agent-device/blob/62b5c07/test/integration/android-emulator-e2e/scenario-start.ts#L28 also fails on a one-shot or fallback capture, which fits the goal of not hiding helper failures; take or leave both. The hosted result is one run, and the framework UiAutomation timeout is not fixed, so a flake can now surface in the preflight itself. I did not inspect the local logs.

@thymikee thymikee added the ready-for-human Valid work that needs human implementation, judgment, or maintainer merge label Oct 19, 2026
@thymikee
thymikee merged commit 7861075 into main Oct 20, 2026
16 checks passed
@thymikee
thymikee deleted the fix/android-cold-capture-stall branch October 20, 2026 07:14
@github-actions

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1
Preview removed because the pull request was closed.
2026-10-20 07:16 UTC

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready-for-human Valid work that needs human implementation, judgment, or maintainer merge

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Android smoke: first fixture capture stalls before any readable snapshot

1 participant