Expand description
§Correctness Testing Framework
Property-based testing and crash-consistency validation for SochDB.
§Components
- Property Tests: Invariant checking with proptest
- Crash Consistency: Simulate crashes during WAL writes
- Isolation Testing: Verify SSI guarantees
- Linearizability: Check single-register linearizability
§Design
Uses a combination of:
- Property-based testing (proptest/quickcheck style)
- Model checking for state machines
- Fault injection for crash recovery
Structs§
- Crash
Simulator - Crash simulator for recovery testing
- Discrepancy
- A discrepancy between model and SUT
- KvModel
- Model of a key-value store for property testing
- Linear
Op - A linearizability operation
- Linearizability
Checker - Linearizability checker for single-register operations
- Test
Oracle - Test oracle for comparing model vs implementation
- TxnHistory
- Transaction history for serializability checking
Enums§
- Crash
Point - Crash point for fault injection
- Linear
OpType - Operation type for linearizability
- Serializability
Error - Serializability check error
- TxnOp
- Transaction operation for model checking