Repository navigation
test(#1611): Android emulator instrumented tests for the Kotlin exact-ref model host (Spec 138 0.13.1) - #1647
Merged
Conversation
…-ref model host Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…mented tests Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
enricopiovesan
force-pushed
the
claude/issue-1611-android-emulator-tests
branch
from
October 9, 2026 17:15
803a576 to
145c418
Compare
enricopiovesan
enabled auto-merge (squash)
October 9, 2026 17:35
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.
Summary
Closes the gap Decision 108 left open: the Kotlin exact-ref model host now runs on a real Android runtime in CI, not only on the host-JVM build of
traverse-android-host.New
android-emulator-testsCI job (ubuntu-latest, KVM):traverse-android-hostwithcargo-ndk(the AAR'sarm64-v8a/x86_64libraries, export and 16 KiB-page checks included);x86_64API 34google_apisemulator withreactivecircus/android-emulator-runner;connectedDebugAndroidTest.Flakiness is mitigated with a cached AVD and boot snapshot (
actions/cache),-no-snapshot-savefor a clean state, a headless emulator with animations disabled, the Orchestrator, and test reports uploaded on failure. The timeout is 45 minutes.ExactModelHostInstrumentedTest(androidTest) loadstraverse_android_hostthroughSystem.loadLibraryfromjniLibs, as an app does. It covers:+simd128), and prepared-v3 over 3 rounds (fresh, then snapshot);missingNativeLibraryFailsClosed: pointing the loader at a nonexistent library, beforeExactModelNativeinitialises, fails the load as a stripped.sowould, so every model call givesmodel_unavailable/engine_unavailable.The fixtures are
fixtures/models, bundled as test-APK assets.Android Test Orchestrator with
clearPackageData, so every test runs in its own process and the forced load failure can't leak into the others.Docs:
docs/android-emulator-tests.mdcovers what runs, the runtime, the flakiness mitigations, and how to run it locally.Spec 138 0.13.0 → 0.13.1 amends FR-048, whose text said the host-JVM build was used "until Android-emulator coverage lands (Android emulator instrumented tests for Kotlin exact-ref model execution (Decision 108 follow-up) #1611)". Testing only; no behaviour change.
Governing Spec
Project Item
Validation
android-emulator-tests). The test logic is a port of the passing host-JVMExactModelHostTest(same vectors, same suite assertions); only the fixture source (APK assets) and the library loading differ.spec_alignment_check.shandpr_body_check.shpass.conformance/signed-prepared-v3.json,rights-conformance/) is already onmain.🤖 Generated with Claude Code