##// END OF EJS Templates
hghave: add py312 and py313...
hghave: add py312 and py313 While not required in the core test suite in the moment, these could be useful in the future or for extensions. For example, Python 3.12 removed distutils and it might make sense to differentiate based on that.

File last commit:

r49730:6000f5b2 default
r52267:54a75576 default
Show More
revlog_corpus.py
23 lines | 812 B | text/x-python | PythonLexer
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 import argparse
import os
import zipfile
ap = argparse.ArgumentParser()
ap.add_argument("out", metavar="some.zip", type=str, nargs=1)
args = ap.parse_args()
Augie Fackler
formatting: blacken the codebase...
r43346 reporoot = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..'))
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 # typically a standalone index
changelog = os.path.join(reporoot, '.hg', 'store', '00changelog.i')
# an inline revlog with only a few revisions
contributing = os.path.join(
Augie Fackler
formatting: blacken the codebase...
r43346 reporoot, '.hg', 'store', 'data', 'contrib', 'fuzz', 'mpatch.cc.i'
)
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050
with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
if os.path.exists(changelog):
Kyle Lippincott
fuzz: fix test-fuzz-targets.t to run with python3...
r44288 with open(changelog, 'rb') as f:
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 zf.writestr("00changelog.i", f.read())
if os.path.exists(contributing):
Kyle Lippincott
fuzz: fix test-fuzz-targets.t to run with python3...
r44288 with open(contributing, 'rb') as f:
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 zf.writestr("contributing.i", f.read())