Index: testing/libfuzzer/gen_fuzzer_runner.py |
diff --git a/testing/libfuzzer/gen_fuzzer_runner.py b/testing/libfuzzer/gen_fuzzer_runner.py |
index 516bd6485068e40f1a19a226535f6122eb5e03ee..9ff1ec5d5586336407abbc56f70b0572548a475e 100755 |
--- a/testing/libfuzzer/gen_fuzzer_runner.py |
+++ b/testing/libfuzzer/gen_fuzzer_runner.py |
@@ -17,15 +17,29 @@ import sys |
parser = argparse.ArgumentParser(description="Generate fuzzer launcher.") |
parser.add_argument('--fuzzer', required=True) |
parser.add_argument('--launcher', required=True) |
-parser.add_argument('--dict', required=True) |
+parser.add_argument('--dict', required=False) |
+parser.add_argument('--params', required=False) |
args = parser.parse_args() |
out = open(args.launcher, 'w') |
-out.write("""#!/bin/bash |
+ |
+launcher_source_code = """#!/bin/bash |
set -ue |
DIR=$(dirname $0) |
-$DIR/%(fuzzer)s -dict=$DIR/%(dict)s $* |
-""" % { "fuzzer": args.fuzzer, "dict": args.dict }) |
+$DIR/%(fuzzer)s""" % {"fuzzer": args.fuzzer} |
+ |
+if args.dict: |
+ launcher_source_code += " -dict=$DIR/%(dict)s" % { "dict": args.dict } |
aizatsky
2016/02/16 18:25:05
build arguments first and insert them into the tem
mmoroz
2016/02/17 10:36:48
Done.
|
+ |
+launcher_source_code += " $*" |
+ |
+# Put custom parameters after "$*" to overwrite default values from ClusterFuzz. |
+if args.params: |
+ launcher_source_code += " %(params)s" % { "params": args.params[1 : -1]} |
+ |
+launcher_source_code += "\n" |
+ |
+out.write(launcher_source_code) |
out.close() |
os.chmod(args.launcher, os.stat(args.launcher).st_mode | 0o111) # chmod a+x |