Chromium Code Reviews| 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 |