From 99dc4270c39c4c1474f7e4e6ad37bd7227a59e49 Mon Sep 17 00:00:00 2001 From: Alex Groce Date: Mon, 30 Jul 2018 22:33:06 -0700 Subject: [PATCH] more info on using libfuzzer --- README.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2ba8977..f9afde0 100644 --- a/README.md +++ b/README.md @@ -97,7 +97,17 @@ Because both DeepState and libFuzzer want to be `main`, this requires building a different executable for libFuzzer. The `examples` directory shows how this can be done. The libFuzzer executable works like any other libFuzzer executable, and the tests produced can be run -using the normal DeepState executable. Use the `LIBFUZZER_WHICH_TEST` +using the normal DeepState executable. For example, generating some +tests of the `OneOf` example (up to 5,000 runs), then running those +tests to examine the results, would look like: + +```shell +mkdir OneOf_corpus +./OneOf_LF OneOf_libFuzzer_corpus --runs 5000 +/OneOf --input_test_files_dir OneOf_libFuzzer_corpus +``` + +Use the `LIBFUZZER_WHICH_TEST` environment variable to control which test libFuzzer runs, using a fully qualified name (e.g., `Arithmetic_InvertibleMultiplication_CanFail`).