From 4c83f493b0b35054dcab061ed064e8ceef3b06da Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Mon, 15 May 2017 15:10:30 -0700 Subject: Update README.md --- projects/example/my-api-repo/README.md | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'projects/example') 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 -- cgit v1.2.3