You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.3 KiB
8.3 KiB
V2 Test Database
Date: 2026-03-27 Status: working subset
Purpose
This is the V2-focused review subset derived from:
sw-block/test/test_db.mdlearn/projects/sw-block/phases/phase13_test.mdlearn/projects/sw-block/phases/phase-13-v2-boundary-tests.md
Use this file to review and track the tests that most directly help:
- V2 protocol design
- simulator coverage
- V1 / V1.5 / V2 comparison
- V2 acceptance boundaries
This is intentionally much smaller than the full test_db.md.
Review Codes
Status
pickedreviewedmapped
Sim
sim_coresim_reducedreal_onlyv2_boundarysim_not_needed_yet
V2 Boundary Tests
| # | Test Name | File | Line | Level | Status | Sim | Notes |
|---|---|---|---|---|---|---|---|
| 1 | TestAdversarial_ReconnectUsesHandshakeNotBootstrap |
sync_all_adversarial_test.go |
unit |
picked |
v2_boundary |
V1/V1.5 sender identity loss; should become V2 acceptance case | |
| 2 | TestAdversarial_NeedsRebuildBlocksAllPaths |
sync_all_adversarial_test.go |
unit |
picked |
v2_boundary |
NeedsRebuild must remain sticky under stable per-replica sender identity |
|
| 3 | TestAdversarial_CatchupDoesNotOverwriteNewerData |
sync_all_adversarial_test.go |
unit |
picked |
v2_boundary |
Catch-up correctness depends on identity continuity and proper recovery ownership | |
| 4 | TestAdversarial_CatchupMultipleDisconnects |
sync_all_adversarial_test.go |
unit |
picked |
v2_boundary |
Multiple reconnect cycles are a V2 sender-loop / recovery-session acceptance target |
Core Protocol Tests
| # | Test Name | File | Line | Level | Status | Sim | Notes |
|---|---|---|---|---|---|---|---|
| 1 | TestRecovery |
recovery_test.go |
unit |
picked |
sim_core |
Crash recovery correctness is fundamental to block protocol reasoning | |
| 2 | TestReplicaProgress_BarrierUsesFlushedLSN |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Durable-progress truth; barrier must count flushed progress, not send progress | |
| 3 | TestReplicaProgress_FlushedLSNMonotonicWithinEpoch |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Progress monotonicity invariant | |
| 4 | TestBarrier_RejectsReplicaNotInSync |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Only eligible replica states count for strict durability | |
| 5 | TestBarrier_EpochMismatchRejected |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Epoch fencing on barrier path | |
| 6 | TestBug1_SyncAll_WriteDuringDegraded_SyncCacheMustFail |
sync_all_bug_test.go |
unit |
picked |
sim_core |
sync_all strictness during degraded state |
|
| 7 | TestSyncAll_FullRoundTrip_WriteAndFlush |
sync_all_bug_test.go |
unit |
picked |
sim_core |
End-to-end strict replication contract | |
| 8 | TestBestEffort_FlushSucceeds_ReplicaDown |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Contrasts best_effort vs strict modes | |
| 9 | TestShip_DegradedDoesNotSilentlyCountAsHealthy |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
No false durability from degraded shipper | |
| 10 | TestDistSync_SyncAll_AllDegraded_Fails |
dist_group_commit_test.go |
unit |
picked |
sim_core |
Availability semantics under strict mode | |
| 11 | TestBug2_SyncAll_SyncCache_AfterDegradedShipperRecovers |
sync_all_bug_test.go |
unit |
picked |
sim_core |
Recoverability after degraded shipper | |
| 12 | TestReconnect_CatchupFromRetainedWal |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Short-gap catch-up | |
| 13 | TestReconnect_GapBeyondRetainedWal_NeedsRebuild |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Catch-up vs rebuild boundary | |
| 14 | TestReconnect_EpochChangeDuringCatchup_Aborts |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Recovery fencing during catch-up | |
| 15 | TestCatchupReplay_DataIntegrity_AllBlocksMatch |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Recovery data correctness | |
| 16 | TestCatchupReplay_DuplicateEntry_Idempotent |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Replay idempotence | |
| 17 | TestBarrier_DuringCatchup_Rejected |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
State-machine correctness during recovery | |
| 18 | TestReplicaState_RebuildComplete_ReentersInSync |
rebuild_v1_test.go |
unit |
picked |
sim_core |
Rebuild lifecycle closure | |
| 19 | TestRebuild_AbortOnEpochChange |
rebuild_v1_test.go |
unit |
picked |
sim_core |
Rebuild fencing | |
| 20 | TestRebuild_MissingTailRestartsOrFailsCleanly |
rebuild_v1_test.go |
unit |
picked |
sim_core |
Safe rebuild failure behavior | |
| 21 | TestWalRetention_RequiredReplicaBlocksReclaim |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Retention rule under lag | |
| 22 | TestWalRetention_TimeoutTriggersNeedsRebuild |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Retention timeout boundary | |
| 23 | TestWalRetention_MaxBytesTriggersNeedsRebuild |
sync_all_protocol_test.go |
unit |
picked |
sim_core |
Retention budget boundary | |
| 24 | TestComponent_FailoverPromote |
component_test.go |
component |
picked |
sim_core |
Core failover baseline | |
| 25 | TestCP13_SyncAll_FailoverPromotesReplica |
cp13_protocol_test.go |
component |
picked |
sim_core |
Strict-mode failover | |
| 26 | TestCP13_SyncAll_ReplicaRestart_Rejoin |
cp13_protocol_test.go |
component |
picked |
sim_core |
Restart/rejoin lifecycle | |
| 27 | TestQA_LSNLag_StaleReplicaSkipped |
qa_block_edge_cases_test.go |
unit |
picked |
sim_core |
Promotion safety and stale candidate rejection | |
| 28 | TestQA_CascadeFailover_RF3_EpochChain |
qa_block_edge_cases_test.go |
unit |
picked |
sim_core |
Multi-promotion lineage | |
| 29 | TestDurabilityMode_Validate_SyncQuorum_RF2_Rejected |
durability_mode_test.go |
unit |
picked |
sim_core |
Mode normalization | |
| 30 | TestCP13_BestEffort_SurvivesReplicaDeath |
cp13_protocol_test.go |
component |
picked |
sim_core |
Best-effort contract | |
| 31 | CP13-8 T4a: sync_all blocks during outage |
manual |
integration |
picked |
sim_core |
Strict outage semantics |
Reduced / Supporting Tests
| # | Test Name | File | Line | Level | Status | Sim | Notes |
|---|---|---|---|---|---|---|---|
| 1 | testRecoverExtendedScanPastStaleHead |
recovery_test.go |
unit |
picked |
sim_reduced |
Advisory WAL-head recovery shape | |
| 2 | testRecoverNoSuperblockPersist |
recovery_test.go |
unit |
picked |
sim_reduced |
Recovery despite optimized persist behavior | |
| 3 | TestQAGroupCommitter |
blockvol_qa_test.go |
unit |
picked |
sim_reduced |
Commit batching semantics | |
| 4 | TestQA_Admission_WriteLBAIntegration |
qa_wal_admission_test.go |
unit |
picked |
sim_reduced |
Backpressure behavior | |
| 5 | TestSyncAll_MultipleFlush_NoWritesBetween |
sync_all_bug_test.go |
unit |
picked |
sim_reduced |
Idempotent flush shape | |
| 6 | TestRebuild_PostRebuild_FlushedLSN_IsCheckpoint |
rebuild_v1_test.go |
unit |
picked |
sim_reduced |
Progress initialization after rebuild | |
| 7 | TestComponent_ManualPromote |
component_test.go |
component |
picked |
sim_reduced |
Manual control-path shape | |
| 8 | TestHeartbeat_ReportsPerReplicaState |
rebuild_v1_test.go |
unit |
picked |
sim_reduced |
Heartbeat observability | |
| 9 | TestHeartbeat_ReportsNeedsRebuild |
rebuild_v1_test.go |
unit |
picked |
sim_reduced |
Control-plane visibility | |
| 10 | TestComponent_ExpandThenFailover |
component_test.go |
component |
picked |
sim_reduced |
State continuity across operations | |
| 11 | TestCP13_DurabilityModeDefault |
cp13_protocol_test.go |
component |
picked |
sim_reduced |
Default mode behavior | |
| 12 | CP13-8 T4b: recovery after restart |
manual |
integration |
picked |
sim_reduced |
Recovery-time shape and control-plane/local-reconnect interaction |
Notes
- This file is the actionable V2 subset, not the master inventory.
- If
testerlater finalizes a broader 70-case picked set, expand this file from that selection. - The 4 V2-boundary tests must remain present even if they fail on V1/V1.5.