flyingmutant / rapid

Rapid is a modern Go property-based testing library
https://pkg.go.dev/pgregory.net/rapid
Mozilla Public License 2.0
579 stars 25 forks source link

Support Go 1.18 integrated fuzzing #32

Closed flyingmutant closed 2 years ago

flyingmutant commented 2 years ago

https://go.dev/blog/fuzz-beta

flyingmutant commented 2 years ago

After some early experiments, the integration is relatively straightforward and "works", but is practically useless without ability to customize the mutator -- rapid itself is much better at getting the good coverage. Looks like without ability to teach the fuzzer how to do some kind of structure-aware mutations, there is no point in the integration.

Maybe we can use black magic to get hold of the raw coverage data, and play the fuzzing game ourselves?

flyingmutant commented 2 years ago

Closing this after merging an initial implementation -- let's track improvements as a separate issues.