Add fuzzer harnesses#433
Conversation
nrabinowitz
left a comment
There was a problem hiding this comment.
Looks good, though I'm not sure I'd be able to run the fuzzers based on the docs w/o a fair amount of trial and error.
| An individual fuzzer run is invoked as follows. The argument is a file containing the number of bytes needed. | ||
|
|
||
| ``` | ||
| fuzzerGeoToH3 bytes24 |
There was a problem hiding this comment.
I'm a bit confused by the file arguments here. Are these files we could check into the repo?
There was a problem hiding this comment.
Aren't they invoked by the new fuzzer test commands with random data over and over again in the attempt to cause breakage?
There was a problem hiding this comment.
Yes, this is an example of how to test the fuzzer program (check that it does what you think it does) before putting it through AFL. I didn't check in the initial files (like bytes24) because they had no useful content - they were just ASCII '0' repeated a given number of times and then I had the fuzzer permute from that. I could add either a script that sets up the file or check in a binary file of the right size to make it easier to start the fuzzer.
This pull request adds harness programs for use with the AFL fuzzer in order to detect crashes. At first, tests for
geoToH3,h3ToGeo,h3ToGeoBoundary, andkRingare added.