From 933e6287fe81294704a1248e297a199eb7717d4c Mon Sep 17 00:00:00 2001 From: Kostya Serebryany Date: Wed, 13 May 2015 22:42:28 +0000 Subject: [PATCH] [lib/Fuzzer] update docs about test corpuses in git git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237308 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/LibFuzzer.rst | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/docs/LibFuzzer.rst b/docs/LibFuzzer.rst index d454b741ba0..a4c7f288f6e 100644 --- a/docs/LibFuzzer.rst +++ b/docs/LibFuzzer.rst @@ -152,6 +152,12 @@ Now, interrupt the fuzzer and run it again the same way. You will see:: This time you were running the fuzzer with a non-empty input corpus (564 items). As the first step, the fuzzer minimized the set to produce 344 interesting items (the ``INITED`` line) +It is quite convenient to store test corpuses in git. +As an example, here is a git repository with test inputs for the above PCRE2 fuzzer:: + + git clone https://github.com/kcc/fuzzing-with-sanitizers.git + ./pcre_fuzzer ./fuzzing-with-sanitizers/pcre2/C1/ + You may run ``N`` independent fuzzer jobs in parallel on ``M`` CPUs:: N=100; M=4; ./pcre_fuzzer ./CORPUS -jobs=$N -workers=$M @@ -298,6 +304,24 @@ Clang can also be fuzzed with Tokens_ using ``-tokens=$LLVM/lib/Fuzzer/cxx_fuzze Tracking bug: https://llvm.org/bugs/show_bug.cgi?id=23057 +Buildbot +-------- + +We have a buildbot that runs the above fuzzers for LLVM components +24/7/365 at http://lab.llvm.org:8011/builders/sanitizer-x86_64-linux-fuzzer . + +Pre-fuzzed test inputs in git +----------------------------- + +The buildbot occumulates large test corpuses over time. +The corpuses are stored in git on github and can be used like this:: + + git clone https://github.com/kcc/fuzzing-with-sanitizers.git + bin/clang-format-fuzzer fuzzing-with-sanitizers/llvm/clang-format/C1 + bin/clang-fuzzer fuzzing-with-sanitizers/llvm/clang/C1/ + bin/clang-fuzzer fuzzing-with-sanitizers/llvm/clang/TOK1 -tokens=$LLVM/llvm/lib/Fuzzer/cxx_fuzzer_tokens.txt + + FAQ ========================= -- 2.34.1