493f89e577
We had several defines around the code base that were not very descriptive. Additionally, we had a patch of extra runtime restrictions living in oss-fuzz that were applied when fuzzing over there for some fuzzers. This has all be consolidated and controlled via the defines documented in site/dev/testing/fuzz.md As such, we can remove one of the patches that is in oss-fuzz, taking us closer to being able to fuzz in the CI/CQ. PS 1 renames existing fuzz defines to the new schema. PS 2-3 backports skia.diff from oss-fuzz and changes those definitions to have the _GREATLY modifier. PS 5+ further condenses the defines so that there is one define for gating the runtime checks. Change-Id: Ia4ad96f30c1e9620a2123b510e97c6f501a2e257 Docs-Preview: https://skia.org/?cl=316443 Bug: skia:10713 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/316443 Commit-Queue: Kevin Lubick <kjlubick@google.com> Reviewed-by: Mike Klein <mtklein@google.com>
13 lines
798 B
Markdown
13 lines
798 B
Markdown
We fuzz Skia using oss-fuzz, which in turn uses fuzzing engines such as libfuzzer, afl-fuzz,
|
|
hong-fuzz and others.
|
|
|
|
We define a `fuzzer` to be a targeted bit of code that takes a randomized input and executes code
|
|
in a specific area. For example, we have a codec fuzzer which takes a mutated png/jpeg or similar
|
|
file and attempts to turn it into an `SkImage`. We also have a canvas fuzzer which takes in a random
|
|
set of bytes and turns them into calls on `SkCanvas`.
|
|
|
|
See [../site/dev/testing/fuzz.md] for more information on building and running fuzzers.
|
|
|
|
See also:
|
|
- [Creating a binary fuzzer](https://docs.google.com/document/d/1QDX0o8yDdmhbjoudNsXc66iuRXRF5XNNqGnzDzX7c2I/edit)
|
|
- [Creating an API fuzzer](https://docs.google.com/document/d/1e3ikXO7SwoBsbsi1MF06vydXRlXvYalVORaiUuOXk2Y/edit) |