proptest
Proptest property-based testing for Rust
Proptest generates many random inputs against a property, then shrinks any
failing case to a minimal counter-example. It is the cheapest verification
adversary for pure functions whose input domain is too large to enumerate. Load
the rust-verification skill first for the selection rules; load this skill
once proptest is the chosen tool.
Is a property test expected?
Reviewers and pre-merge checks apply one rule: a property test (or a bounded model checker) is expected whenever a change introduces an invariant over a range of inputs, states, orderings, or transitions. Parsers, canonicalizers, normalizers, merge and precedence rules, bounded queues, and validators over a range all qualify; two to four example cases do not discharge them. The check fires as a warning, repeats every round until satisfied, and treats a PR body that claims coverage which does not exist as a defect.