Chromium Code Reviews| 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..4c64b68a9d87d522bb7cd178c974495339fa6a9d |
| --- /dev/null |
| +++ b/testing/chromoting/browser_tests_launcher.py |
| @@ -0,0 +1,49 @@ |
| +# Copyright (c) 2014 The Chromium Authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# 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) |
|
Lei Lei
2014/10/15 01:09:44
You should not swallow the exception, otherwise it
anandc
2014/10/16 02:06:15
Done.
|
| + 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() |