Mercurial > hg
annotate contrib/fuzz/dirstate_corpus.py @ 51265:85d96517e650 stable
persistent-nodemap: respect the mmap setting when refreshing data
After writing updated data, we reload the in-memory data. However, that logic
was… wrong. We were doing file read when mmap was requested and when the
configuration was requesting to not use mmap… we were using it.
This should now be fine.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Thu, 21 Dec 2023 01:45:43 +0100 |
parents | 6000f5b25c9b |
children |
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()) |