Add fuzzing to compare against croaring-rs#321
Add fuzzing to compare against croaring-rs#321Kerollmops merged 7 commits intoRoaringBitmap:mainfrom
Conversation
fb761f5 to
d102d74
Compare
|
Wow! That is impressive work. Thank you very much! Don't we want to run it in place of the current benchmarks in the CI for something like 30 minutes? |
d102d74 to
f6c70ac
Compare
40b9966 to
b3cd52f
Compare
|
@Kerollmops gave a try at adding 30 minutes of fuzzing to CI instead of the benchmarks, not a github actions expert. |
|
Thank you very much @Dr-Emann 🙏 It seems to me that it worked perfectly in the CI: Continuous integration / fuzz pull_request Successful in 31m ✅ Are the following lines expected? |
There was a problem hiding this comment.
Thank you for those improvements, too!
|
Yeah, that's expected. It's fuzzing without a sanitizer (-s none), because it's faster, and we don't expect any memory unsafety issues, the fuzzer has hooks into sanitizers, but it can't use them if we're not running with a sanitizer |
This also adds some extra validation which will reject a few more incorrect bitmaps when deserializing, to reject inputs also rejected by croaring, and some tests mirroring the unit tests for corrupted deserialization added in RoaringBitmap/CRoaring#665
I figure this might also be helpful for use in #320 (@lucascool12 FYI).
This has been running for a while on my machine (about 300 million executions over 19 hours) and hasn't found anything new in that time.