Skip to content

Commit b706f50

Browse files
committed
Merge branch 'main' into noir-runner
2 parents 46d1fe3 + 16404c4 commit b706f50

File tree

3 files changed

+45
-2
lines changed

3 files changed

+45
-2
lines changed

src/zkregex_fuzzer/cli.py

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ def fuzz_parser():
5555
parser.add_argument(
5656
"--save",
5757
choices=[status.name for status in HarnessStatus],
58-
nargs="*",
58+
nargs="+",
5959
help="Save reproducible files according to the specified Harness status",
6060
)
6161
parser.add_argument(
@@ -100,6 +100,7 @@ def fuzz_parser():
100100
type=str,
101101
help="Path to the ptau (powers-of-tau) file for the proving step"
102102
)
103+
<<<<<<< HEAD
103104

104105
parser.add_argument(
105106
"--noir-prove",
@@ -113,13 +114,16 @@ def fuzz_parser():
113114
default="INFO",
114115
help="Set the logger level (default: INFO)."
115116
)
117+
=======
118+
>>>>>>> main
116119

117120

118121
return parser
119122

120123
def reproduce_parser():
121124
parser = argparse.ArgumentParser(
122125
add_help=False
126+
<<<<<<< HEAD
123127
)
124128

125129
parser.add_argument(
@@ -136,6 +140,18 @@ def reproduce_parser():
136140
help="Set the logger level (default: INFO)."
137141
)
138142

143+
=======
144+
)
145+
146+
parser.add_argument(
147+
"--path",
148+
nargs="+",
149+
type=str,
150+
help="Path to the target directory output that want to be reproduced (support wildcard pattern).",
151+
required=True
152+
)
153+
154+
>>>>>>> main
139155
return parser
140156

141157
def do_fuzz(args):
@@ -211,7 +227,13 @@ def do_fuzz(args):
211227
kwargs = vars(args)
212228

213229
# set global seed
230+
<<<<<<< HEAD
214231
random.seed(args.seed)
232+
=======
233+
seed = str(uuid.uuid4())
234+
kwargs['seed'] = seed
235+
random.seed(seed)
236+
>>>>>>> main
215237

216238
if args.fuzzer == "grammar":
217239
fuzz_with_grammar(
@@ -238,11 +260,24 @@ def do_reproduce(args):
238260
def main():
239261

240262
parser = argparse.ArgumentParser()
263+
<<<<<<< HEAD
264+
=======
265+
parser.add_argument(
266+
"--logger-level",
267+
choices=["DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"],
268+
default="INFO",
269+
help="Set the logger level (default: INFO)."
270+
)
271+
>>>>>>> main
241272

242273
subparser = parser.add_subparsers(dest="subcommand")
243274
subparser.add_parser(
244275
"fuzz",
276+
<<<<<<< HEAD
245277
help="Generate fuzzed regexes using The Fuzzing Book's GrammarFuzzer.",
278+
=======
279+
help="Fuzz the target regex implementation.",
280+
>>>>>>> main
246281
parents=[fuzz_parser()]
247282
)
248283
subparser.add_parser(

src/zkregex_fuzzer/runner/base_runner.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,12 +50,14 @@ def match(self, input: str) -> tuple[bool, str]:
5050
"""
5151
pass
5252

53+
@abstractmethod
5354
def clean(self) -> None:
5455
"""
5556
Clean any produced temporary files.
5657
"""
5758
pass
5859

60+
@abstractmethod
5961
def save(self, path: str) -> str:
6062
"""
6163
Save any produced temporary files.

src/zkregex_fuzzer/runner/python.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,4 +34,10 @@ def match(self, input: str) -> tuple[bool, str]:
3434
str_result = match_input[0] if match_success else ""
3535
return (match_success, str_result)
3636
except re.error as e:
37-
raise RegexRunError(f"Error matching regex: {e}")
37+
raise RegexRunError(f"Error matching regex: {e}")
38+
39+
def save(self, path: str) -> str:
40+
return ""
41+
42+
def clean(self) -> None:
43+
return None

0 commit comments

Comments
 (0)