test(wal): rfc 0028 slice 2c — 11 test binaries fold into one harness - #402
Conversation
Pure moves + the harness main.rs: no test body changed (RFC0028.1); nothing exempt (RFC0028.2) — the crash tests SIGKILL the wal_crash_fixture child [[bin]], never their own process. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 30 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (12)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR implements RFC 0028 slice 2c for the ourios-wal crate by consolidating what were previously multiple integration-test binaries into a single tests/it/ harness, reducing per-binary link overhead while preserving the existing test suite semantics and coverage.
Changes:
- Adds a consolidated integration-test harness at
crates/ourios-wal/tests/it/main.rsthat modules in the moved tests. - Moves the WAL integration tests into
crates/ourios-wal/tests/it/as per-module files (append/open/recovery + RFC0008.* scenarios). - Keeps the crash fixture (
wal_crash_fixture) approach intact, so crash-recovery tests still SIGKILL a child process rather than themselves.
Reviewed changes
Copilot reviewed 1 out of 12 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| crates/ourios-wal/tests/it/main.rs | New unified integration-test harness that declares the moved test modules. |
| crates/ourios-wal/tests/it/append.rs | WAL append integration tests moved under the unified harness. |
| crates/ourios-wal/tests/it/open.rs | WAL open integration tests moved under the unified harness. |
| crates/ourios-wal/tests/it/recovery.rs | In-process sync/replay integration tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_1_wal_before_ack.rs | RFC0008.1 (“WAL before ack”) tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_2_crash_recovery.rs | RFC0008.2 SIGKILL-based crash recovery tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_3_recovery_o_n.rs | RFC0008.3 recovery non-amplification smoke tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_4_torn_writes.rs | RFC0008.4 torn-write healing vs corruption tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_5_corruption.rs | RFC0008.5 corruption classification + metrics tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_6_rotation.rs | RFC0008.6 rotation behavior tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_7_checkpoint.rs | RFC0008.7 checkpoint/housekeeping behavior tests moved under the unified harness. |
| crates/ourios-wal/tests/it/rfc0008_9_unflushed_bytes.rs | RFC0008.9 proptest bound test + config validation test moved under the unified harness. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
What
RFC 0028 slice 2c — the WAL crate's 11 integration-test binaries fold into one
tests/it/harness (the #399/#400/#401 recipe). Pure file moves plus the harnessmain.rs; no shared test modules, so no import adjustments. No test body changed.RFC0028.1 — inventory proof
cargo test -p ourios-wal -- --list: 64 tests before, 64 after; leaf-name sets identical after stripping module-path prefixes (snapshots below).RFC0028.2 — exemptions
None: the crash-recovery tests SIGKILL the
wal_crash_fixturechild[[bin]](still undertests/fixtures/, untouched), never their own process. No global-provider installs, no env mutation.Indicative timing (not the RFC0028.3 gate)
Same machine, warm workspace:
touch crates/ourios-wal/src/lib.rs && cargo test -p ourios-wal --no-run— 35.9 s before, 25.8 s after (smaller relative win than the DataFusion crates — the WAL links far less per binary).Invariants / hazards
CLAUDE.md §6.2 (tests are specifications): nothing weakened or deleted. The §3.4 crash-recovery CI test moves intact (name-prefix only).
Pre inventory (64)
Post inventory (64)
🤖 Generated with Claude Code