Skip to content
  • Augie Fackler's avatar
    fuzz: use a more standard approach to allow local builds of fuzzers · 5a9e2ae9899b
    Augie Fackler authored
    This is taken from the (improved since we started fuzzing) guide on ideal
    integrations. Rather than have our own wonky targets for building outside the
    fuzzer universe, we have a driver program we carry along and use when we're
    not using LibFuzzer. This will let us jettison a fair amount of goo.
    
    contrib/fuzz/standalone_fuzz_target_runner.cc is
    https://github.com/google/oss-fuzz/ file
    projects/example/my-api-repo/standalone from git revision
    c4579d9358a73ea5dbcc99cb985de1f2bf76dcf7, reformatted with out
    clang-format settings and a no-check-code comment added. It allows
    running a single test input through a fuzzer, rather than performing
    ongoing fuzzing as libfuzzer would.
    
    contrib/fuzz/FuzzedDataProvider.h is
    https://github.com/llvm/llvm-project/ file
    /compiler-rt/include/fuzzer/FuzzedDataProvider.h from git revision
    a44ef027ebca1598892ea9b104d6189aeb3bc2f0, reformatted with our
    clang-format settings and a no-check-code comment added. We can
    discard this if we instead want to add an hghave check for a new
    enough llvm that includes FuzzedDataProvder.h in the fuzzer headers.
    
    Differential Revision: https://phab.mercurial-scm.org/D7564
    5a9e2ae9899b