-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Description
If you want to fuzz different functions in your codebase that accept different kinds of inputs, you need to create a fuzz target for each function.
The way to do this currently is to compile a separate fuzz target for each function. This works fine when there are only a couple of them.
However, there can be a need to fuzz a non-trivial number of functions. Compiling a dedicated fuzz target for each will balloon build times and disk footprint, especially due to static linking. For example, in Arrow each of our fuzz targets is around 120 MB on disk.
It would be nice to define fuzz targets that point to the same executable, but with different parameters. A simple way of passing parameters would be via dedicated environment variables.
A potential application would be the various Parquet encodings out there.