test(provider-scenarios): open deadline scenarios without the test IME
Summary
composite-deadline.test.ts › "routed batch install…" failed whenever android/ime-helper/dist existed locally (after pnpm build:android), with Unscripted Android provider call: shell settings get secure default_input_method. CI never builds that directory, so CI stayed green.
Root cause: the scenario opens an emulator session, and shouldActivateAndroidTestIme defaults to on for emulators. activateAndroidTestIme then resolves the bundled IME helper from the repo's build output. With the artifact present it installs the helper and reads the default input method, which the deadline scenario never scripts. Without the artifact it returns the helper-unavailable outcome and skips the IME.
Fix: the three deadline-scenario opens pass the product's own testIme: false opt-out, as android-tv-remote.test.ts does. These scenarios test request deadlines, not text entry. No production change and no new seam. Production reads the bundled artifact on purpose; the provider seam imeHelperArtifact stays for providers. 1 file, +3 lines. I searched tests for other dependencies on */dist helper output and found none. The remaining dist hits are the main package build, which CI produces.
Validation
- Base
9935ef51c2with a minimal artifact inandroid/ime-helper/dist: 1 failed, 3 passed, with the error above. With the artifact removed, 4 passed. - Head
04799a5ddc, same command, artifact present and absent: 4 passed both ways. - The full
provider-integrationproject (66 files, 213 tests) andunit-coreforpackages/platform-androidandpackages/daemon(4897 tests) pass with the artifact present. - Mutation: changing the
daemon_request_timeoutreason inhost-kit/src/internal/request-cancel.tsfails all 4 deadline tests. I reverted it. pnpm check:affected --run --head 04799a5ddc: all runnable checks passed,exactCommit=true. An earlier run hit the 5s default timeout on the first test while the host load average was above 300. Later runs were cancelled while queued on the validation lock. The unchanged commit then passed.- Skipped: GitHub-owned Integration, Coverage, and device lanes. The
pnpm gate unit-cigate was not run locally.
🤖 Generated with Claude Code