https://bugs.webkit.org/show_bug.cgi?id=144038
[WebKit-https.git] / Tools / Scripts / run-benchmark
1 #!/usr/bin/env python
2
3 import argparse
4 import logging
5 from webkitpy.benchmark_runner.benchmark_runner import BenchmarkRunner
6
7
8 _log = logging.getLogger()
9 _log.setLevel(logging.INFO)
10 ch = logging.StreamHandler()
11 formatter = logging.Formatter('%(asctime)s - %(levelname)s - %(message)s')
12 ch.setFormatter(formatter)
13 _log.addHandler(ch)
14
15
16 def main():
17     parser = argparse.ArgumentParser(description='Automate the browser based performance benchmarks')
18     parser.add_argument('--output-file', dest='output', default=None)
19     parser.add_argument('--build-directory', dest='buildDir', required=True)
20     parser.add_argument('--plan', dest='plan', required=True)
21     parser.add_argument('--platform', dest='platform', default='osx', choices=['osx', 'ios', 'windows'], required=True)
22     # FIXME: Should we add chrome as an option? Well, chrome uses webkit in iOS.
23     parser.add_argument('--browser', dest='browser', default='safari', choices=['safari', 'chrome'], required=True)
24     parser.add_argument('--debug', action='store_true')
25     args = parser.parse_args()
26     
27     if args.debug:
28         _log.setLevel(logging.DEBUG)
29     _log.debug('Initializing program with following parameters')
30     _log.debug('\toutput file name\t: %s' % args.output)
31     _log.debug('\tbuild directory\t: %s' % args.buildDir)
32     _log.debug('\tplan name\t: %s', args.plan)
33     runner = BenchmarkRunner(args.plan, args.buildDir, args.output, args.platform, args.browser)
34     runner.execute()
35
36 if __name__ == '__main__':
37     main()