| Index: build/android/test_runner.py
|
| diff --git a/build/android/test_runner.py b/build/android/test_runner.py
|
| index f79e13e9786f81d71eb4aa2db9d9b1553ceeca12..368ac06aff109931487a0f4b1497f16e292a2f4c 100755
|
| --- a/build/android/test_runner.py
|
| +++ b/build/android/test_runner.py
|
| @@ -44,6 +44,7 @@ from pylib.results import report_results
|
| from pylib.uiautomator import setup as uiautomator_setup
|
| from pylib.uiautomator import test_options as uiautomator_test_options
|
| from pylib.utils import apk_helper
|
| +from pylib.utils import base_error
|
| from pylib.utils import reraiser_thread
|
| from pylib.utils import run_tests_helper
|
|
|
| @@ -957,7 +958,7 @@ def RunTestsInPlatformMode(args, parser):
|
| json_results.GenerateJsonResultsFile(
|
| results, args.json_results_file)
|
|
|
| - return 0 if results.DidRunPass() else 1
|
| + return 0 if results.DidRunPass() else constants.ERROR_EXIT_CODE
|
|
|
|
|
| CommandConfigTuple = collections.namedtuple(
|
| @@ -1013,7 +1014,18 @@ def main():
|
| config.add_options_func(subparser)
|
|
|
| args = parser.parse_args()
|
| - return RunTestsCommand(args, parser)
|
| +
|
| + try:
|
| + return RunTestsCommand(args, parser)
|
| + except base_error.BaseError as e:
|
| + logging.exception('Error occurred.')
|
| + if e.is_infra_error:
|
| + return constants.INFRA_EXIT_CODE
|
| + else:
|
| + return constants.ERROR_EXIT_CODE
|
| + except: # pylint: disable=W0702
|
| + logging.exception('Unrecognized error occurred.')
|
| + return constants.ERROR_EXIT_CODE
|
|
|
|
|
| if __name__ == '__main__':
|
|
|