Coverage lane 3 (#248) — instrumented (androidTest) tests for data/local: Room DAO queries/mutations, every exported-schema migration, and the DatabaseProvisioner/DatabaseEncryption (SQLCipher) provisioning branches — including a regression guard for the SQLCipher System.loadLibrary cold-start crash (592a797).
Local validation
114/181 instrumented tests passed, 0 failed, via connectedDebugAndroidTest on a manually-provisioned api36 emulator (8 GB RAM, 8 vCPUs, cold-boot / no-snapshot).
The local GMD emulator wedges mid-suite (~112 tests) on this dev machine — an AEHD/hypervisor stability limit, not a test defect (see #269). The tests that ran had zero failures; CI validates the full 181 on its own per-runner emulators (CI uses reactivecircus/android-emulator-runner + connectedDebugAndroidTest, not GMD, so it is unaffected by the local wedge).
Coverage lane 3 (#248) — instrumented (`androidTest`) tests for `data/local`: Room DAO queries/mutations, every exported-schema migration, and the `DatabaseProvisioner`/`DatabaseEncryption` (SQLCipher) provisioning branches — including a regression guard for the SQLCipher `System.loadLibrary` cold-start crash (592a797).
## Local validation
**114/181 instrumented tests passed, 0 failed**, via `connectedDebugAndroidTest` on a manually-provisioned api36 emulator (8 GB RAM, 8 vCPUs, cold-boot / no-snapshot).
The local **GMD** emulator wedges mid-suite (~112 tests) on this dev machine — an AEHD/hypervisor stability limit, **not** a test defect (see #269). The tests that ran had zero failures; **CI validates the full 181** on its own per-runner emulators (CI uses `reactivecircus/android-emulator-runner` + `connectedDebugAndroidTest`, not GMD, so it is unaffected by the local wedge).
## Scope
- New: `AccountDaoTest`, `AccountSettingsDaoTest`, `AttachmentDaoTest`, `BackfillProgressDaoTest`, `CredentialDaoTest`, `DraftDaoTest`, `FolderDaoTest`, `MessageDaoTest`, `OutboxDaoTest`, `SignatureDaoTest`, `DatabaseProvisionerInstrumentedTest`, `DeferredOpenHelperFactoryTest`.
- Extended: `DatabaseEncryptionTest`, `MigrationTest`.
- Build: test-only dependency additions in `app/build.gradle.kts` / `gradle/libs.versions.toml`.
No production code changed.
Closes #248
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Coverage lane 3 (#248) — instrumented (
androidTest) tests fordata/local: Room DAO queries/mutations, every exported-schema migration, and theDatabaseProvisioner/DatabaseEncryption(SQLCipher) provisioning branches — including a regression guard for the SQLCipherSystem.loadLibrarycold-start crash (592a797).Local validation
114/181 instrumented tests passed, 0 failed, via
connectedDebugAndroidTeston a manually-provisioned api36 emulator (8 GB RAM, 8 vCPUs, cold-boot / no-snapshot).The local GMD emulator wedges mid-suite (~112 tests) on this dev machine — an AEHD/hypervisor stability limit, not a test defect (see #269). The tests that ran had zero failures; CI validates the full 181 on its own per-runner emulators (CI uses
reactivecircus/android-emulator-runner+connectedDebugAndroidTest, not GMD, so it is unaffected by the local wedge).Scope
AccountDaoTest,AccountSettingsDaoTest,AttachmentDaoTest,BackfillProgressDaoTest,CredentialDaoTest,DraftDaoTest,FolderDaoTest,MessageDaoTest,OutboxDaoTest,SignatureDaoTest,DatabaseProvisionerInstrumentedTest,DeferredOpenHelperFactoryTest.DatabaseEncryptionTest,MigrationTest.app/build.gradle.kts/gradle/libs.versions.toml.No production code changed.
Closes #248
🤖 Generated with Claude Code