BurntSushi / quickcheck

Automated property based testing for Rust (with shrinking).
The Unlicense
2.4k stars 149 forks source link

Extract Arbitrary trait to new crate? #202

Closed frewsxcv closed 4 years ago

frewsxcv commented 6 years ago

Right now, cargo-fuzz relies on the arbitrary crate to do the same sort of thing the Arbitrary trait provides in this quickcheck crate. I'm also considering incorporating the arbitrary crate into afl.rs. If someone wants to fuzz and run quickcheck on structures in their crate, it seems unnecessary for them to implement Aribitrary twice.

I just threw together a rust-arbitrary GitHub organization and could talk to nagisa about sharing the nagisa crate name, and we can combine our implementations (or maybe just use the one in this crate).

BurntSushi commented 6 years ago

In principle, this sounds fine to me, but I personally don't have the time to manage something like this on quickcheck's end.

I'm also not clear on why quickcheck itself cannot be used as the source of truth about the Arbitrary trait? (Perhaps though it might be related to the very little amount of time I can dedicate to this crate.)

frewsxcv commented 3 years ago

Update here: crates in the rust-fuzz use the arbitrary crate, which recently hit 1.0: https://users.rust-lang.org/t/arbitrary-version-1-0-released/56100