##// END OF EJS Templates
revlog: run rustfmt nightly...
Augie Fackler -
r44527:451d2217 default
Show More
Name Size Modified Last Commit Author
/ contrib / fuzz
FuzzedDataProvider.h 12.4 KiB
r44252:28a91a581fd9
Augie Fackler
Makefile 4.5 KiB
r44296:b7af8a02a304
Augie Fackler
README.rst 894 B
r36716:e437de3881c1
Augie Fackler
bdiff.cc 969 B
r44255:7857bd9bb2b0
Augie Fackler
dirs.cc 1.2 KiB
r44311:8766728dbce6
Augie Fackler
dirs_corpus.py 717 B
r44296:b7af8a02a304
Augie Fackler
dirstate.cc 1.0 KiB
r44311:8766728dbce6
Augie Fackler
dirstate_corpus.py 535 B
r44288:ba84a1ae4ae5
Kyle Lippincott
fm1readmarkers.cc 1.4 KiB
r44311:8766728dbce6
Augie Fackler
fm1readmarkers_corpus.py 2.0 KiB
r43346:2372284d9457
Augie Fackler
fncache.cc 1.8 KiB
r44311:8766728dbce6
Augie Fackler
fuzzutil.h 1002 B
r44013:6f5c352f41b6
Augie Fackler
jsonescapeu8fast.cc 1.4 KiB
r44311:8766728dbce6
Augie Fackler
manifest.cc 1.8 KiB
r44311:8766728dbce6
Augie Fackler
manifest_corpus.py 1.3 KiB
r43346:2372284d9457
Augie Fackler
mpatch.cc 3.0 KiB
r44255:7857bd9bb2b0
Augie Fackler
mpatch_corpus.py 22.9 KiB
r44308:229215fc1c1c
Kyle Lippincott
pyutil.cc 1.7 KiB
r44311:8766728dbce6
Augie Fackler
pyutil.h 228 B
r44311:8766728dbce6
Augie Fackler
revlog.cc 1.6 KiB
r44311:8766728dbce6
Augie Fackler
revlog_corpus.py 852 B
r44288:ba84a1ae4ae5
Kyle Lippincott
standalone_fuzz_target_runner.cc 1.5 KiB
r44253:01ec70a80a7b
Augie Fackler
xdiff.cc 1.4 KiB
r44255:7857bd9bb2b0
Augie Fackler

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
  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

0: https://github.com/google/oss-fuzz/blob/master/docs/new_project_guide.md