annotate contrib/fuzz/dirstate_corpus.py @ 51861:f81e0ce5103a default tip

typing: simplify archive.gz writing and drop a few pytype suppressions I was waiting until 3.8 to use `Literal` to fix this, but there's also the ":" and "|" characters that are passed along here, meant only for the non-gz archive types. But manipulating what the local caller passes is silly- we know we're writing, so just open it for writing. As an added bonus, PyCharm stops flagging the call too (since it doesn't know about pytype suppression comments).
author Matt Harbison <matt_harbison@yahoo.com>
date Thu, 12 Sep 2024 12:53:00 -0400
parents 6000f5b25c9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
41015
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
1 import argparse
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
2 import os
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
3 import zipfile
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
4
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
5 ap = argparse.ArgumentParser()
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
6 ap.add_argument("out", metavar="some.zip", type=str, nargs=1)
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
7 args = ap.parse_args()
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
8
43076
2372284d9457 formatting: blacken the codebase
Augie Fackler <augie@google.com>
parents: 41015
diff changeset
9 reporoot = os.path.normpath(os.path.join(os.path.dirname(__file__), '..', '..'))
41015
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
10 dirstate = os.path.join(reporoot, '.hg', 'dirstate')
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
11
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
12 with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
13 if os.path.exists(dirstate):
43836
ba84a1ae4ae5 fuzz: fix test-fuzz-targets.t to run with python3
Kyle Lippincott <spectral@google.com>
parents: 43076
diff changeset
14 with open(dirstate, 'rb') as f:
41015
b444407f635b fuzz: new fuzzer for dirstate parser
Augie Fackler <augie@google.com>
parents:
diff changeset
15 zf.writestr("dirstate", f.read())