You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If I understand correctly a big part of what a Strategy does is convert randomness from a TestRunner into a specific type, so that a test can be run on it. And a large part of the work in running cargo-fuzz is making a fuzz_target that takes &[u8] and converts it into something worth testing. So if we had an alternative TestRunner that could use &[u8] as its source of randomness, then it would be easy write a fuzz_target that can use the excellent syntax of proptest to define its assertions. (and possibly get shrinking for free.) To put it differently this would allow code reuse between the growing library/ecosystem of proptest Strategys and the ecosystem of fuzz testing.
If I understand correctly a big part of what a
Strategy
does is convert randomness from aTestRunner
into a specific type, so that a test can be run on it. And a large part of the work in runningcargo-fuzz
is making afuzz_target
that takes&[u8]
and converts it into something worth testing. So if we had an alternativeTestRunner
that could use&[u8]
as its source of randomness, then it would be easy write afuzz_target
that can use the excellent syntax of proptest to define its assertions. (and possibly get shrinking for free.) To put it differently this would allow code reuse between the growing library/ecosystem of proptestStrategy
s and the ecosystem of fuzz testing.cc blt/bughunt-rust#2
cc https://blog.troutwine.us/2018/10/08/hunting-for-bugs-in-rust/
The text was updated successfully, but these errors were encountered: