Make arguments of run-benchmark more user friendly
[WebKit-https.git] / Tools / Scripts / run-benchmark
index 30480f8369560ce49b7edad11f6a20e11bba36e6..6d5f66e359872947b635e55f22be9be59e604644 100755 (executable)
@@ -2,9 +2,11 @@
 
 import argparse
 import logging
 
 import argparse
 import logging
+import platform
 import sys
 
 from webkitpy.benchmark_runner.benchmark_runner import BenchmarkRunner
 import sys
 
 from webkitpy.benchmark_runner.benchmark_runner import BenchmarkRunner
+from webkitpy.benchmark_runner.browser_driver.browser_driver_factory import BrowserDriverFactory
 
 
 _log = logging.getLogger()
 
 
 _log = logging.getLogger()
@@ -18,14 +20,14 @@ _log.addHandler(ch)
 def main():
     parser = argparse.ArgumentParser(description='Automate the browser based performance benchmarks')
     parser.add_argument('--output-file', dest='output', default=None)
 def main():
     parser = argparse.ArgumentParser(description='Automate the browser based performance benchmarks')
     parser.add_argument('--output-file', dest='output', default=None)
-    parser.add_argument('--build-directory', dest='buildDir', required=True)
-    parser.add_argument('--plan', dest='plan', required=True)
-    parser.add_argument('--platform', dest='platform', default='osx', choices=['osx', 'ios', 'windows'], required=True)
+    parser.add_argument('--build-directory', dest='buildDir', help='Path to the browser executable. e.g. WebKitBuild/Release/')
+    parser.add_argument('--plan', dest='plan', required=True, help='Benchmark plan to run. e.g. speedometer, jetstream')
+    parser.add_argument('--platform', dest='platform', required=True, choices=BrowserDriverFactory.available_platforms())
     # FIXME: Should we add chrome as an option? Well, chrome uses webkit in iOS.
     # FIXME: Should we add chrome as an option? Well, chrome uses webkit in iOS.
-    parser.add_argument('--browser', dest='browser', default='safari', choices=['safari', 'chrome'], required=True)
+    parser.add_argument('--browser', dest='browser', required=True, choices=BrowserDriverFactory.available_browsers())
     parser.add_argument('--debug', action='store_true')
     args = parser.parse_args()
     parser.add_argument('--debug', action='store_true')
     args = parser.parse_args()
-    
+
     if args.debug:
         _log.setLevel(logging.DEBUG)
     _log.debug('Initializing program with following parameters')
     if args.debug:
         _log.setLevel(logging.DEBUG)
     _log.debug('Initializing program with following parameters')
@@ -35,5 +37,6 @@ def main():
     runner = BenchmarkRunner(args.plan, args.buildDir, args.output, args.platform, args.browser)
     return runner.execute()
 
     runner = BenchmarkRunner(args.plan, args.buildDir, args.output, args.platform, args.browser)
     return runner.execute()
 
+
 if __name__ == '__main__':
     sys.exit(main())
 if __name__ == '__main__':
     sys.exit(main())