##// END OF EJS Templates
absorb: port partway to Python 3...
absorb: port partway to Python 3 Use pycompat.maplist() in the one place that matters and use the default iterator of a dict instead of iterkeys(). Two new tests pass on Python 3. Differential Revision: https://phab.mercurial-scm.org/D4174

File last commit:

r36716:e437de38 default
r39023:9204445a 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