| Index: build/android/test_package.py
|
| diff --git a/build/android/test_package.py b/build/android/test_package.py
|
| index 16b834c6821d475af618dc4ee7e00801c603c950..6d0810b27985593349f572b42cdd515c28a4038a 100644
|
| --- a/build/android/test_package.py
|
| +++ b/build/android/test_package.py
|
| @@ -35,6 +35,7 @@ class TestPackage(object):
|
| performance_test, cleanup_test_files, tool, dump_debug_info):
|
| self.adb = adb
|
| self.device = device
|
| + self.test_suite_full = test_suite
|
| self.test_suite = os.path.splitext(test_suite)[0]
|
| self.test_suite_basename = os.path.basename(self.test_suite)
|
| self.test_suite_dirname = os.path.dirname(self.test_suite)
|
| @@ -129,14 +130,21 @@ class TestPackage(object):
|
| ok_tests = []
|
| failed_tests = []
|
| timed_out = False
|
| + overall_fail = False
|
| re_run = re.compile('\[ RUN \] ?(.*)\r\n')
|
| re_fail = re.compile('\[ FAILED \] ?(.*)\r\n')
|
| + re_runner_fail = re.compile('\[ RUNNER_FAILED \] ?(.*)\r\n')
|
| re_ok = re.compile('\[ OK \] ?(.*)\r\n')
|
| (io_stats_before, ready_to_continue) = self._BeginGetIOStats()
|
| while ready_to_continue:
|
| - found = p.expect([re_run, pexpect.EOF], timeout=self.timeout)
|
| + found = p.expect([re_run, pexpect.EOF, re_runner_fail],
|
| + timeout=self.timeout)
|
| if found == 1: # matched pexpect.EOF
|
| break
|
| + if found == 2: # RUNNER_FAILED
|
| + logging.error('RUNNER_FAILED')
|
| + overall_fail = True
|
| + break
|
| if self.dump_debug_info:
|
| self.dump_debug_info.TakeScreenshot('_Test_Start_Run_')
|
| full_test_name = p.match.group(1)
|
| @@ -165,4 +173,5 @@ class TestPackage(object):
|
| '\npexpect.after: %s'
|
| % (p.before,
|
| p.after))]
|
| - return TestResults.FromOkAndFailed(ok_tests, failed_tests, timed_out)
|
| + return TestResults.FromOkAndFailed(ok_tests, failed_tests,
|
| + timed_out, overall_fail)
|
|
|