##// END OF EJS Templates
xdiff: don't attempt to use fuzzer inputs larger than 100k...
xdiff: don't attempt to use fuzzer inputs larger than 100k This is the recommended approach from [0], and limiting the input was suggested in https://github.com/google/oss-fuzz/issues/2076 when discussing our broken coverage build. 0: https://github.com/google/oss-fuzz/blob/master/docs/new_project_guide.md#custom-libfuzzer-options-for-clusterfuzz Differential Revision: https://phab.mercurial-scm.org/D5525

File last commit:

r36716:e437de38 default
r41175:2e60a77b default
Show More
README.rst
26 lines | 894 B | text/x-rst | RstLexer
Augie Fackler
fuzz: add a quick README to try and document how to test new fuzzers...
r36698 How to add fuzzers (partially cribbed from oss-fuzz[0]):
1) git clone https://github.com/google/oss-fuzz
2) cd oss-fuzz
3) python infra/helper.py build_image mercurial
4) docker run --cap-add=SYS_PTRACE -it -v $HG_REPO_PATH:/hg-new \
gcr.io/oss-fuzz/mercurial bash
5) cd /src
6) rm -r mercurial
7) ln -s /hg-new mercurial
8) cd mercurial
9) compile
Augie Fackler
fuzz: add some more docs about building/running fuzzers...
r36716 10) ls $OUT
Step 9 is literally running the command "compile", which is part of
the docker container. Once you have that working, you can build the
fuzzers like this (in the oss-fuzz repo):
python infra/helper.py build_fuzzers --sanitizer address mercurial $HG_REPO_PATH
(you can also say "memory", "undefined" or "coverage" for
sanitizer). Then run the built fuzzers like this:
python infra/helper.py run_fuzzer mercurial -- $FUZZER
Augie Fackler
fuzz: add a quick README to try and document how to test new fuzzers...
r36698
0: https://github.com/google/oss-fuzz/blob/master/docs/new_project_guide.md