| OLD | NEW | 
|---|
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python | 
| 2 # | 2 # | 
| 3 # Copyright 2013 The Chromium Authors. All rights reserved. | 3 # Copyright 2013 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 """Runs all types of tests from one unified interface.""" | 7 """Runs all types of tests from one unified interface.""" | 
| 8 | 8 | 
| 9 import argparse | 9 import argparse | 
| 10 import collections | 10 import collections | 
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 43 from pylib.utils import logdog_helper | 43 from pylib.utils import logdog_helper | 
| 44 from pylib.utils import logging_utils | 44 from pylib.utils import logging_utils | 
| 45 | 45 | 
| 46 from py_utils import contextlib_ext | 46 from py_utils import contextlib_ext | 
| 47 | 47 | 
| 48 | 48 | 
| 49 _DEVIL_STATIC_CONFIG_FILE = os.path.abspath(os.path.join( | 49 _DEVIL_STATIC_CONFIG_FILE = os.path.abspath(os.path.join( | 
| 50     host_paths.DIR_SOURCE_ROOT, 'build', 'android', 'devil_config.json')) | 50     host_paths.DIR_SOURCE_ROOT, 'build', 'android', 'devil_config.json')) | 
| 51 | 51 | 
| 52 | 52 | 
|  | 53 def _RealPath(arg): | 
|  | 54   if arg.startswith('//'): | 
|  | 55     arg = os.path.abspath(os.path.join(host_paths.DIR_SOURCE_ROOT, | 
|  | 56                                        arg[2:].replace('/', os.sep))) | 
|  | 57   return os.path.realpath(arg) | 
|  | 58 | 
|  | 59 | 
| 53 def AddTestLauncherOptions(parser): | 60 def AddTestLauncherOptions(parser): | 
| 54   """Adds arguments mirroring //base/test/launcher. | 61   """Adds arguments mirroring //base/test/launcher. | 
| 55 | 62 | 
| 56   Args: | 63   Args: | 
| 57     parser: The parser to which arguments should be added. | 64     parser: The parser to which arguments should be added. | 
| 58   Returns: | 65   Returns: | 
| 59     The given parser. | 66     The given parser. | 
| 60   """ | 67   """ | 
| 61   parser.add_argument( | 68   parser.add_argument( | 
| 62       '--test-launcher-retry-limit', | 69       '--test-launcher-retry-limit', | 
| (...skipping 350 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 413   parser.add_argument( | 420   parser.add_argument( | 
| 414       '--runtime-deps-path', | 421       '--runtime-deps-path', | 
| 415       dest='runtime_deps_path', type=os.path.realpath, | 422       dest='runtime_deps_path', type=os.path.realpath, | 
| 416       help='Runtime data dependency file from GN.') | 423       help='Runtime data dependency file from GN.') | 
| 417   parser.add_argument( | 424   parser.add_argument( | 
| 418       '--screenshot-directory', | 425       '--screenshot-directory', | 
| 419       dest='screenshot_dir', type=os.path.realpath, | 426       dest='screenshot_dir', type=os.path.realpath, | 
| 420       help='Capture screenshots of test failures') | 427       help='Capture screenshots of test failures') | 
| 421   parser.add_argument( | 428   parser.add_argument( | 
| 422       '--shared-prefs-file', | 429       '--shared-prefs-file', | 
| 423       dest='shared_prefs_file', type=os.path.realpath, | 430       dest='shared_prefs_file', type=_RealPath, | 
| 424       help='The relative path to a file containing JSON list of shared ' | 431       help='The relative path to a file containing JSON list of shared ' | 
| 425            'preference files to edit and how to do so. Example list: ' | 432            'preference files to edit and how to do so. Example list: ' | 
| 426            '[{' | 433            '[{' | 
| 427            '  "package": "com.package.example",' | 434            '  "package": "com.package.example",' | 
| 428            '  "filename": "ExampleSettings.xml",' | 435            '  "filename": "ExampleSettings.xml",' | 
| 429            '  "set": {' | 436            '  "set": {' | 
| 430            '    "boolean_key_in_xml": true,' | 437            '    "boolean_key_in_xml": true,' | 
| 431            '    "string_key_in_xml": "string_value"' | 438            '    "string_key_in_xml": "string_value"' | 
| 432            '  },' | 439            '  },' | 
| 433            '  "remove": [' | 440            '  "remove": [' | 
| (...skipping 540 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 974     if e.is_infra_error: | 981     if e.is_infra_error: | 
| 975       return constants.INFRA_EXIT_CODE | 982       return constants.INFRA_EXIT_CODE | 
| 976     return constants.ERROR_EXIT_CODE | 983     return constants.ERROR_EXIT_CODE | 
| 977   except: # pylint: disable=W0702 | 984   except: # pylint: disable=W0702 | 
| 978     logging.exception('Unrecognized error occurred.') | 985     logging.exception('Unrecognized error occurred.') | 
| 979     return constants.ERROR_EXIT_CODE | 986     return constants.ERROR_EXIT_CODE | 
| 980 | 987 | 
| 981 | 988 | 
| 982 if __name__ == '__main__': | 989 if __name__ == '__main__': | 
| 983   sys.exit(main()) | 990   sys.exit(main()) | 
| OLD | NEW | 
|---|