Add a GN arg to optionally skip generating fuzzer test owners files.

The process of generating *.owners files for each test can take a while.
This is important on the two libfuzzer CQ bots, as their cycle time has
been creeping up lately.

By skipping the owners file generation, we should be able to speed up
the build.
eg: See the ninja trace on https://ci.chromium.org/p/chromium/builders/try/win-libfuzzer-asan-rel/681833

It doesn't appear that the two libfuzzer CQ bots use the owners file
after generating them, so this should be safe.

Bug: 1186484, 1194183
Change-Id: Iab56d27dd65ba7a2fe8b78ee7fb735c9a705d2a5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2792012
Commit-Queue: Ben Pastene <bpastene@chromium.org>
Reviewed-by: Dirk Pranke <dpranke@google.com>
Cr-Commit-Position: refs/heads/master@{#867769}
GitOrigin-RevId: 825f86aa594207bfc50f87495544b48014814c9d
1 file changed
tree: fa5619dfe834facf7f1a2ed0c6bc0913a01f700c
  1. AFL_integration.md
  2. BUILD.gn
  3. OWNERS
  4. README.md
  5. archive_corpus.py
  6. dictionary_generator.py
  7. efficient_fuzzing.md
  8. fuzzer_test.gni
  9. fuzzers/
  10. gen_fuzzer_config.py
  11. gen_fuzzer_owners.py
  12. getting_started.md
  13. libFuzzer_integration.md
  14. libfuzzer_exports.h
  15. libprotobuf-mutator.md
  16. proto/
  17. reference.md
  18. reproducing.md
  19. tests/
  20. unittest_main.cc
  21. zip_sources.py
README.md

Fuzz testing in Chromium

go/chrome-fuzzing

Fuzzing is a testing technique that feeds auto-generated inputs to a piece of target code in an attempt to crash the code. It's one of the most effective methods we have for finding security and stability issues (see go/fuzzing-success). You can learn more about the benefits of fuzzing at go/why-fuzz.

This documentation covers the in-process guided fuzzing approach employed by different fuzzing engines, such as libFuzzer or AFL. To learn more about out-of-process fuzzers, please refer to the Blackbox fuzzing page in the ClusterFuzz documentation.

Getting Started

In Chromium, you can easily create and submit fuzz targets. The targets are automatically discovered by buildbots, built with different fuzzing engines, then uploaded to the distributed ClusterFuzz fuzzing system to run at scale.

Create your first fuzz target and submit it by stepping through our Getting Started Guide.

Advanced Topics

Further Reading

Trophies

Other Links