test(coverage): lane 3 — persistence, DAOs & migrations to >=95% #270

Merged
JMR-dev merged 5 commits from test-248-coverage-persistence-daos-migrations into main 2026-07-04 00:47:09 +00:00
JMR-dev commented 2026-07-03 23:39:33 +00:00 (Migrated from github.com)

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

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)
Sign in to join this conversation.