diff contrib/fuzz/dirstate_corpus.py @ 41015:b444407f635b

fuzz: new fuzzer for dirstate parser Differential Revision: https://phab.mercurial-scm.org/D5463
author Augie Fackler <augie@google.com>
date Wed, 19 Dec 2018 23:48:35 -0500
parents
children 2372284d9457
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/fuzz/dirstate_corpus.py	Wed Dec 19 23:48:35 2018 -0500
@@ -0,0 +1,18 @@
+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()
+
+reporoot = os.path.normpath(os.path.join(os.path.dirname(__file__),
+                                         '..', '..'))
+dirstate = os.path.join(reporoot, '.hg', 'dirstate')
+
+with zipfile.ZipFile(args.out[0], "w", zipfile.ZIP_STORED) as zf:
+    if os.path.exists(dirstate):
+        with open(dirstate) as f:
+            zf.writestr("dirstate", f.read())