contrib/fuzz/dirs_corpus.py
author Pierre-Yves David <pierre-yves.david@octobus.net>
Fri, 05 Apr 2024 11:33:47 +0200
changeset 51580 b70628a9aa7e
parent 48875 6000f5b25c9b
permissions -rw-r--r--
phases: use revision number in new_heads All graph operations will be done using revision numbers, so passing nodes only means they will eventually get converted to revision numbers internally. As part of an effort to align the code on using revision number we make the `phases.newheads` function operated on revision number, taking them as input and using them in returns, instead of the node-id it used to consume and produce. This is part of multiple changesets effort to translate more part of the logic, but is done step by step to facilitate the identification of issue that might arise in mercurial core and extensions. To make the change simpler to handle for third party extensions, we also rename the function, using a more modern form. This will help detecting the different between the node-id version and the rev-num version. I also take this as an opportunity to add some comment about possible performance improvement for the future. They don't matter too much now, but they are worse exploring in a while.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
43844
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     1
import argparse
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     2
import zipfile
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     3
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     4
ap = argparse.ArgumentParser()
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     5
ap.add_argument("out", metavar="some.zip", type=str, nargs=1)
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     6
args = ap.parse_args()
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     7
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     8
with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
     9
    zf.writestr(
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    10
        "greek-tree",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    11
        "\n".join(
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    12
            [
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    13
                "iota",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    14
                "A/mu",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    15
                "A/B/lambda",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    16
                "A/B/E/alpha",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    17
                "A/B/E/beta",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    18
                "A/D/gamma",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    19
                "A/D/G/pi",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    20
                "A/D/G/rho",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    21
                "A/D/G/tau",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    22
                "A/D/H/chi",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    23
                "A/D/H/omega",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    24
                "A/D/H/psi",
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    25
            ]
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    26
        ),
b7af8a02a304 fuzz: add a seed corpus for the dirs fuzzer
Augie Fackler <augie@google.com>
parents:
diff changeset
    27
    )