Skip to content

Rust: proptest + Kani state-machine tests for pump_stream_files_readwrite (rust/cuprum-rust/src/lib.rs) #84

Description

@coderabbitai

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions