Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: testing/libfuzzer/gen_fuzzer_runner.py

Issue 1703523002: [libfuzzer] support of custom libfuzzer options via .options file. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698