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

Side by Side 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 unified diff | Download patch
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 # 2 #
3 # Copyright (c) 2015 The Chromium Authors. All rights reserved. 3 # Copyright (c) 2015 The Chromium Authors. All rights reserved.
4 # Use of this source code is governed by a BSD-style license that can be 4 # Use of this source code is governed by a BSD-style license that can be
5 # found in the LICENSE file. 5 # found in the LICENSE file.
6 6
7 """Generate .sh runner for libfuzzer test. 7 """Generate .sh runner for libfuzzer test.
8 8
9 Invoked by GN from fuzzer_test.gni. 9 Invoked by GN from fuzzer_test.gni.
10 """ 10 """
11 11
12 import argparse 12 import argparse
13 import os 13 import os
14 import sys 14 import sys
15 15
16 16
17 parser = argparse.ArgumentParser(description="Generate fuzzer launcher.") 17 parser = argparse.ArgumentParser(description="Generate fuzzer launcher.")
18 parser.add_argument('--fuzzer', required=True) 18 parser.add_argument('--fuzzer', required=True)
19 parser.add_argument('--launcher', required=True) 19 parser.add_argument('--launcher', required=True)
20 parser.add_argument('--dict', required=True) 20 parser.add_argument('--dict', required=False)
21 parser.add_argument('--params', required=False)
21 args = parser.parse_args() 22 args = parser.parse_args()
22 23
23 out = open(args.launcher, 'w') 24 out = open(args.launcher, 'w')
24 out.write("""#!/bin/bash 25
26 launcher_source_code = """#!/bin/bash
25 set -ue 27 set -ue
26 DIR=$(dirname $0) 28 DIR=$(dirname $0)
27 $DIR/%(fuzzer)s -dict=$DIR/%(dict)s $* 29 $DIR/%(fuzzer)s""" % {"fuzzer": args.fuzzer}
28 """ % { "fuzzer": args.fuzzer, "dict": args.dict }) 30
31 if args.dict:
32 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.
33
34 launcher_source_code += " $*"
35
36 # Put custom parameters after "$*" to overwrite default values from ClusterFuzz.
37 if args.params:
38 launcher_source_code += " %(params)s" % { "params": args.params[1 : -1]}
39
40 launcher_source_code += "\n"
41
42 out.write(launcher_source_code)
29 out.close() 43 out.close()
30 44
31 os.chmod(args.launcher, os.stat(args.launcher).st_mode | 0o111) # chmod a+x 45 os.chmod(args.launcher, os.stat(args.launcher).st_mode | 0o111) # chmod a+x
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698