test(rivetkit): remove wasm sqlite-only fixtures and coverage#4642
test(rivetkit): remove wasm sqlite-only fixtures and coverage#4642NathanFlurry wants to merge 1 commit intochore/remove-sqlite-vfs-packagesfrom
Conversation
PR #4642 Review:
|
| Artifact | Why Removed |
|---|---|
cross-backend-vfs.ts test suite |
Tested WASM↔native VFS data compatibility; no longer relevant |
actor-db-kv-stats.ts test suite |
Instrumented WASM KV-VFS operations (getBatch/putBatch stats) |
db-kv-stats.ts fixture actor |
Custom WASM KV-VFS instrumentation provider |
sleepWsRawDbAfterClose fixture |
Simulated poisoned KV transport via raw IDatabase handle |
| KV channel reconnect stress tests | Used /.test/kv-channel/force-disconnect endpoint |
disconnectKvChannelForCurrentConfig cleanup |
Was wiring native SQLite KV channel per test runtime |
setNativeSqliteConfig driver call |
Configured native KV channel endpoint per test |
Max SQLite preload size limit doc entry |
WASM-era preload limit no longer applies |
Feedback
Positive:
- The cleanups are consistent and complete. All three layers (fixtures, test suite, driver orchestration) are updated together, avoiding orphaned dead code.
- CLAUDE.md,
rivetkit-typescript/CLAUDE.md, andACTOR_KV_STRUCTURE.mdare all updated in the same change to reflect the new native-only stance — good documentation hygiene. - Removing the
disconnectKvChannelForCurrentConfigcleanup path fromcreateTestRuntimeis correct now that there is no KV channel to manage per test instance. - The comment update in
actor-db-stress.ts(KV channel resilience→native database behavior) accurately reflects what the remaining tests actually cover.
Concerns / Questions:
-
Test coverage gap for native SQLite behavior. The removed
actor-db-kv-stats.tstests verified precise write patterns (e.g., "warm UPDATE uses BATCH_ATOMIC: exactly 1 putBatch", "no WAL or SHM operations"). These were valuable invariant checks for the storage layer. If@rivetkit/rivetkit-nativesurfaces analogous metrics or inspection APIs, equivalent native-layer tests should be added. Is that planned, or are these guarantees now verified at a lower level (Rust unit tests, etc.)? -
sleepWsRawDbAfterCloseremoval without a native equivalent. The "poisoned KV produces disk I/O error on commit" test was specifically checking that the error propagated correctly when the underlying transport failed mid-transaction. This is a real production failure mode. Has the failure path been validated against the native runtime, or is it implicitly covered elsewhere? -
Cross-backend VFS removal. The
cross-backend-vfs.tstests verified that data written by one backend (WASM or native) was readable by the other. Since the PR's stated position is that WASM SQLite will not be reintroduced, these tests are indeed obsolete — but it's worth confirming there are no migration scenarios (e.g., existing actors previously persisted via WASM VFS that need to be readable by the native runtime on upgrade). -
Minor:
utils.tsreformats acreateTestInlineClientDrivercall (splits args across lines) with no semantic change. This is a cosmetic diff that slightly obscures the meaningful changes — consider reverting or noting it's intentional. -
Max SQLite preload sizedoc removal — the limit row is dropped fromlimits.mdx. If the native runtime still has a configurable per-actor SQLite preload limit (even if the name changes), it should be re-documented under the new name. If the limit is gone entirely, this removal is correct as-is.
No correctness issues found. The changes are internally consistent and all references to removed symbols have been cleaned up.
Reviewed by Claude Code
0bc1a8e to
b7e88da
Compare
ada1fe0 to
dbb2ed4
Compare
b7e88da to
8a620d1
Compare
dbb2ed4 to
2611ad0
Compare

Description
Please include a summary of the changes and the related issue. Please also include relevant motivation and context.
Type of change
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Checklist: