Index: testing/chromoting/browser_tests_launcher.py |
diff --git a/testing/chromoting/browser_tests_launcher.py b/testing/chromoting/browser_tests_launcher.py |
new file mode 100644 |
index 0000000000000000000000000000000000000000..2cb6b9b707f98f293964bb2ddbde67c9f5a96e90 |
--- /dev/null |
+++ b/testing/chromoting/browser_tests_launcher.py |
@@ -0,0 +1,48 @@ |
+# Copyright (c) 2014 The Chromium Authors. All rights reserved. |
+# Use of this source code is governed by a BSD-style license that can be |
Lei Lei
2014/10/14 22:54:21
One concern about this approach is scalability, sw
anandc
2014/10/15 00:48:22
Acknowledged.
Makes sense. I've opened https://cod
|
+# found in the LICENSE file. |
+ |
+ |
+"""Utility script to launch browser-tests on the Chromoting bot.""" |
+import argparse |
+import subprocess |
+import sys |
+ |
+PROD_DIR_ID = '$(PROD_DIR)' |
+ |
+ |
+def LaunchCommand(command): |
+ |
+ cmd_line = [command] |
+ try: |
+ results = subprocess.check_output( |
+ cmd_line, stderr=subprocess.STDOUT, shell=True) |
+ except subprocess.CalledProcessError, e: |
+ print 'Failed to run command %s; %s' % (command, e) |
+ else: |
+ print results |
+ finally: |
+ pass |
+ |
+ |
+def main(): |
+ |
+ parser = argparse.ArgumentParser() |
+ parser.add_argument('-f', '--file', |
+ help='path to file containing list of command to launch.') |
+ parser.add_argument('-p', '--prod_dir', |
+ help='build output folder, i.e., <(PRODUCT_DIR).') |
+ |
+ args = parser.parse_args() |
+ if not args.file or not args.prod_dir: |
+ parser.print_help() |
+ sys.exit(1) |
+ with open(args.file) as f: |
+ for line in f: |
+ # Replace the PROD_DIR value in the command-line with |
+ # the passed in value. |
+ line = line.replace(PROD_DIR_ID, args.prod_dir) |
+ LaunchCommand(line) |
+ |
+if __name__ == '__main__': |
+ main() |