##// END OF EJS Templates
import-checker: allow symbol imports from mercurial.pycompat...
import-checker: allow symbol imports from mercurial.pycompat Currently, the source transformer inserts `from mercurial.pycompat import delattr, getattr, hasattr, setattr, open, unicode` to the top of every file. As part of getting rid of the source transformer, we'll need to have source code call these wrappers directly. Rather than rewrite all call sites to call pycompat.*, I think it makes sense to import needed symbols via explicit imports. That requires loosening the import checker to allow this. Differential Revision: https://phab.mercurial-scm.org/D7004

File last commit:

r43346:2372284d default
r43354:c2e284ce default
Show More
revlog_corpus.py
28 lines | 951 B | text/x-python | PythonLexer
Augie Fackler
fuzz: new fuzzer for revlog's parse_index2 method...
r41050 from __future__ import absolute_import, print_function
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
print(changelog, os.path.exists(changelog))
print(contributing, os.path.exists(contributing))
with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
if os.path.exists(changelog):
with open(changelog) as f:
zf.writestr("00changelog.i", f.read())
if os.path.exists(contributing):
with open(contributing) as f:
zf.writestr("contributing.i", f.read())