Skip to content

Commit 32264e1

Browse files
authored
Merge pull request #67 from NixoN2/add-random-seed-option
Add --seed option to typefuzz for reproducible runs
2 parents 3235514 + c11e3f1 commit 32264e1

3 files changed

Lines changed: 12 additions & 0 deletions

File tree

bin/typefuzz

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import os
2525
import sys
2626
import signal
2727
import inspect
28+
import random
2829
from pathlib import Path
2930

3031
path = Path(__file__)
@@ -81,6 +82,8 @@ def main():
8182

8283
else:
8384
args = run_checks(parser, "typefuzz")
85+
if args.seed is not None:
86+
random.seed(args.seed)
8487
try:
8588
fuzzer = Fuzzer(args, "typefuzz")
8689

yinyang/config/TypefuzzHelptext.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,8 @@
121121
-c <file>, --config <file>
122122
set custom config file.
123123
(default: yinyang/config/typefuzz_config.txt)
124+
--seed <N>
125+
random seed for reproducible runs
124126
-L <bytes>, --limit <bytes>
125127
file size limit on seed formula in bytes (default: 100000)
126128
-k, --keep-mutants do not delete scratch files

yinyang/src/base/ArgumentParser.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,13 @@ def add_typefuzz_args(parser, rootpath, current_dir):
164164
metavar="path_to_file",
165165
default=rootpath + "/yinyang/config/typefuzz_config.txt",
166166
)
167+
parser.add_argument(
168+
"--seed",
169+
metavar="<N>",
170+
type=int,
171+
default=None,
172+
help="random seed for reproducible runs",
173+
)
167174

168175

169176
def add_yinyang_args(parser, rootpath, current_dir):

0 commit comments

Comments
 (0)