vlc-demux-run: add demux fuzzing helper
This includes support for statically linked plugins. It vastly increases the test iteration speed, which is critical for fuzz testing. Furthermore, it is necessary for coverage-driven fuzz testing to work at all. This also provides a (manually compiled only) back-end for LLVM's LibFuzzer using mostly the same code. 1) Debugging, regression testing or unguided fuzzing: - Make a normal build (debug and sanitization recommended). - Execute: "test/vlc-demux-run [demux name] <file path>" 2) American Fuzzy Lop run: - Make a *static* build with AFL as the toolchain. - (Where applicable) perform adequate religious luck granting offerings or other rites. - Run AFL with test/vlc-demux-run as the fuzzed executable. 3) LibFuzzer: - Make a preferrably static build with Clang as the toolchain. - Manually build test/vlc-demux-libfuzzer. - Run the executable with the LibFuzzer command line parameters syntax.
Showing with 555 additions and 0 deletions