Skip to content

Port Couchbase Lite 4.1 tests - #71

Open
jeffdgr8 wants to merge 2 commits into
cbl-4.1-nativefrom
cbl-4.1-tests
Open

Port Couchbase Lite 4.1 tests#71
jeffdgr8 wants to merge 2 commits into
cbl-4.1-nativefrom
cbl-4.1-tests

Conversation

@jeffdgr8

Copy link
Copy Markdown
Owner

Brings the test suite up to date with the upstream Java SDK 4.1 suite and the iOS SDK's Enterprise Edition tests, and regenerates the API dumps for the 4.1 surface.

  • Common: testRevisionIDIncrement (Document.timestamp), testQueryObserverRace (CBL-5647, ported to coroutines), re-enabled ArrayIndexConfiguration overload tests, SELECT * result-key tests; remaining upstream-only tests documented as skips (internal SDK APIs)
  • EE from iOS: TLSIdentityTest (create/get/delete/duplicate/expiration + identity import; skipped on Linux/Windows where unsupported), URLEndpointListenerCollectionTest (ignored with the same keychain-flakiness TODO as the existing listener tests)
  • Fixes TLSIdentity.certs on Apple: SecCertificateRef NSArray elements aren't bridged to CPointer (KT-61470); recovered via CFBridgingRetain
  • TrustCheckTest not ported (drives the internal CBLTrustCheck class); issuer-signed identity tests not ported (iOS-only API)
  • Removes the stale api/android BCV dumps (BCV 0.18 registers no Android dump task under AGP 9; the JVM dump covers the same jvmCommon surface)

Test totals: CE 807 JVM / 805 macosX64, EE 957 JVM / 997 macosX64, zero failures.

🤖 Generated with Claude Code

jeffdgr8 and others added 2 commits July 10, 2026 18:07
Brings the test suite up to date with the upstream Java SDK 4.1
suite and the iOS SDK's Enterprise Edition tests:

Common (from the Java SDK suite):
- DocumentTest.testRevisionIDIncrement (Document.timestamp)
- QueryChangeTest.testQueryObserverRace (CBL-5647), ported from the
  upstream executor race to coroutines
- ArrayIndexTest: enabled ArrayIndexConfiguration overload tests
- CollectionQueryTest: SELECT * result key tests on the default
  collection
- Remaining upstream-only tests documented as skips (internal SDK
  APIs, Java-specific facilities)

Enterprise Edition (from the iOS SDK suite):
- TLSIdentityTest: create/get/delete/duplicate/expiration tests in
  common (ignored on Linux/Windows where TLSIdentity is unsupported),
  with per-platform setup (JVM in-memory PKCS12 KeyStore, Apple
  keychain), plus apple/JVM identity-import tests
- URLEndpointListenerCollectionTest: the four collection-based
  listener tests (ignored with the same keychain-flakiness TODO as
  the existing listener tests)
- TrustCheckTest not ported: it drives the internal CBLTrustCheck
  class the wrapper does not expose; its public behavior is covered
  by the listener tests
- Issuer-signed identity tests not ported: kotbase has no
  createIssuer/issuer-signed createIdentity API (iOS-only in 4.1)

Fixes TLSIdentity.certs on Apple platforms: SecCertificateRef
elements of the certs NSArray are not bridged to CPointer by
Kotlin/Native (KT-61470); recover the refs via CFBridgingRetain.

Test totals: CE 807 JVM / 805 macosX64, EE 957 JVM / 997 macosX64,
zero failures; linuxX64/mingwX64/android test sources compile.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Regenerates the binary-compatibility-validator API dumps for the
4.1 API surface. Removes the api/android dumps: BCV 0.18 does not
register an Android dump task for the AGP 9 KMP library target, so
they could no longer be generated or checked (the JVM dump covers
the same jvmCommon API surface).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant