diff options
author | Kostya Serebryany <konstantin.s.serebryany@gmail.com> | 2017-05-15 15:10:30 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-15 15:10:30 -0700 |
commit | 4c83f493b0b35054dcab061ed064e8ceef3b06da (patch) | |
tree | 0951550db5ccd99e01b3f868ca2193520110f70b /projects/example | |
parent | ec3cc2aa38dff476e4a63f03eae04229d67a4356 (diff) |
Update README.md
Diffstat (limited to 'projects/example')
-rw-r--r-- | projects/example/my-api-repo/README.md | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/projects/example/my-api-repo/README.md b/projects/example/my-api-repo/README.md index ba81cdd0..81913716 100644 --- a/projects/example/my-api-repo/README.md +++ b/projects/example/my-api-repo/README.md @@ -1,5 +1,17 @@ -An example for [OSS-Fuzz ideal integration](../../../docs/ideal_integration.md). +Example of [OSS-Fuzz ideal integration](../../../docs/ideal_integration.md). -TODO: add more words. +This directory contains a example software project that has all the trais of [ideal](../../../docs/ideal_integration.md) support for fuzzing. -Example bug: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1562 +* [my_api.h](my_api.h) and [my_api.cpp](my_api.cpp) implement the API that we want to test/fuzz. The function `DoStuff()` inside [my_api.cpp](my_api.cpp) contains a bug. (Find it!) +* [do_stuff_unittest.cpp](do_stuff_unittest.cpp) is a unit test for `DoStuff()`. +* [do_stuff_fuzzer.cpp](do_stuff_fuzzer.cpp) is a [fuzz target](http://libfuzzer.info/#fuzz-target) for `DoStuff()`. +* [standalone_fuzz_taget_runner.cpp](standalone_fuzz_taget_runner.cpp) is a simple standalone runnner for fuzz targets. You may use it to execute a fuzz target on given files w/o having to link in libFuzzer or other fuzzing engine. +* [do_stuff_test_data](do_stuff_test_data) corpus directory for [do_stuff_fuzzer.cpp](do_stuff_fuzzer.cpp). +* [Makefile](Makefile) is a build file: + * accepts external compiler flags via `$CC`, `$CXX`, `$CFLAGS`, `$CXXFLAGS` + * accepts external fuzzing engine via `$LIB_FUZZING_ENGINE`, by default uses [standalone_fuzz_taget_runner.cpp](standalone_fuzz_taget_runner.cpp) + * builds the fuzz target(s) and their corpus archive(s) + * `make check` executes [do_stuff_fuzzer.cpp](do_stuff_fuzzer.cpp) on [`do_stuff_test_data/*`](do_stuff_test_data) + + +Example bug report filed automatically: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=1562 |