Overview
Add proptest tests (and Kani after refactor) for pump_stream_files_readwrite (rust/cuprum-rust/src/lib.rs, line 209).
Baseline
No Rust-level #[test], proptest, Kani, or Verus coverage currently exists under rust/cuprum-rust.
Justification
The writer-open state latches after non-fatal write errors; fixed tests cover only broad cases. There is no seam for event injection.
Benefit
- Proves total bytes are monotonic
- Proves writes stop after broken pipe
- Proves reader drain continues after writer close
- Proves fatal errors propagate correctly
Cost Trade-Off
Medium-high without seams.
Verifiability Improvement
Extract a pure pump state machine over ReadEvent and WriteEvent to enable scripted verification.
Tool Fit
proptest first; Kani after the pure state-machine seam is added.
Recommended Order
Phase 2 — after event/state seams are extracted.
Raised from PR #62 by @leynos.
Overview
Add proptest tests (and Kani after refactor) for
pump_stream_files_readwrite(rust/cuprum-rust/src/lib.rs, line 209).Baseline
No Rust-level
#[test], proptest, Kani, or Verus coverage currently exists underrust/cuprum-rust.Justification
The writer-open state latches after non-fatal write errors; fixed tests cover only broad cases. There is no seam for event injection.
Benefit
Cost Trade-Off
Medium-high without seams.
Verifiability Improvement
Extract a pure pump state machine over
ReadEventandWriteEventto enable scripted verification.Tool Fit
proptest first; Kani after the pure state-machine seam is added.
Recommended Order
Phase 2 — after event/state seams are extracted.
Raised from PR #62 by @leynos.