Open zhassan-aws opened 8 months ago
If I remove the non-determinism by replacing this line:
let op = if kani::any() { semver::Op::Exact } else { semver::Op::Less };
with:
let op = semver::Op::Exact ;
Kani completes in ~13 seconds:
SUMMARY:
** 0 of 4986 failed (219 unreachable)
VERIFICATION:- SUCCESSFUL
Verification Time: 13.343105s
Complete - 1 successfully verified harnesses, 0 failures, 1 total.
Steps to reproduce:
fuzz_targets/contains.rs
:[kani::proof]
[kani::unwind(2)]
fn check_estimate_size() { use semver_pubgrub::SemverPubgrub; let ver = semver::Version { major: 0, minor: 0, patch: 0, pre: semver::Prerelease::EMPTY, build: semver::BuildMetadata::EMPTY, }; let op = if kani::any() { semver::Op::Exact } else { semver::Op::Less }; let req = semver::Comparator { op, major: 0, minor: Some(0), patch: Some(0), pre: semver::Prerelease::EMPTY, }; let req = semver::VersionReq { comparators: vec![req] }; let mat = req.matches(&ver);
}