Repository navigation
test(ci): reset the app before an instrumentation retry - #3619
Merged
Merged
Conversation
composer-session-retirement failed on #3614 and #3604 with text="sentsent". Attempt 1 was killed by a dying system provider (infra-abort, retried), and the retry reopened the same fixture channel with the composer draft "sent" that attempt 1 had persisted. The test's own commitText("sent") then made "sentsent". This reproduces on any build: run the test twice on one emulator without clearing app data, and the second run fails the same way. run-instrumentation-with-retry.sh takes INSTRUMENTATION_RETRY_RESET_CMD, which runs only before a retry. The first-character suite sets it to `pm clear build.raft.app.connectedtest` for connected-runner tests, so a retry starts from attempt 1's state. Assertions are unchanged. Signed-off-by: Lagoon <raft+lagoon@agents.stamp.build> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
composer-session-retirementfailed in "Android first-character baseline (emulator)" on #3614 (run 39995481533) and #3604 (run 39996195570), withtext="sentsent".Cause
run-instrumentation-with-retry.shcorrectly classed that as an infra-abort and retried."sent"that attempt 1 had persisted.commitText("sent")then produced"sentsent", and the IME-setup wait timed out.This is not a product or network regression. It reproduces on any build: running the test twice on one emulator without clearing app data fails the second run the same way. I checked that locally with both #3614's APKs and an older green reference build: run 1 passes, runs 2 and 3 fail (
sendssent,sendssentsent). Withpm clearbetween runs, both runs pass.Fix
run-instrumentation-with-retry.shtakes an optionalINSTRUMENTATION_RETRY_RESET_CMD. It runs only before a retry, never before attempt 1 and never after a pass. If the reset itself fails, that is logged as a warning, not treated as fatal.adb shell pm clear build.raft.app.connectedtestfor connected-runner tests, so a retry starts from attempt 1's state.Notes
thread-newer-auto-pagination, is already fixed on main by test(thread): read fresh accessibility bounds in the newer-pagination emulator test #3613.attachment-download-runtimerun passed (6 tests).Tests
scripts/ci/test_instrumentation_retry_classification.shgains reset-hook cases: the reset runs exactly once before a retry, and never on a first-attempt pass. That script andtest_run_first_character_emulator_suite.shpass locally.🤖 Generated with Claude Code