Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1103)

Unified Diff: build/android/pylib/test_package.py

Issue 11572052: Don't report the gtest return code as a TestResult object. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: build/android/pylib/test_package.py
diff --git a/build/android/pylib/test_package.py b/build/android/pylib/test_package.py
index 526fa99b92b3d232f6047e21d135304abc1533fa..356268d3e54d1ace6281bc862fa90dc3dbcbe159 100644
--- a/build/android/pylib/test_package.py
+++ b/build/android/pylib/test_package.py
@@ -124,39 +124,43 @@ class TestPackage(object):
crashed_tests = []
timed_out = False
overall_fail = False
+
+ # Test case statuses.
re_run = re.compile('\[ RUN \] ?(.*)\r\n')
- # APK tests rely on the PASSED tag.
+ re_fail = re.compile('\[ FAILED \] ?(.*)\r\n')
craigdh 2012/12/14 23:10:47 These regexes are nearly identical. pattern = '\[
frankf 2012/12/17 20:09:28 There are 3 different patterns, not much to gain.
craigdh 2012/12/17 20:24:09 Ok. I had only caught two when I looked before. It
+ re_ok = re.compile('\[ OK \] ?(.*?) .*\r\n')
+
+ # Test run statuses.
re_passed = re.compile('\[ PASSED \] ?(.*)\r\n')
+ re_runner_fail = re.compile('\[ RUNNER_FAILED \] ?(.*)\r\n')
# Signal handlers are installed before starting tests
# to output the CRASHED marker when a crash happens.
re_crash = re.compile('\[ CRASHED \](.*)\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')
+
try:
while True:
found = p.expect([re_run, re_passed, re_runner_fail],
timeout=self.timeout)
- if found == 1: # matched PASSED.
+ if found == 1: # re_passed
break
- if found == 2: # RUNNER_FAILED
- logging.error('RUNNER_FAILED')
+ elif found == 2: # re_runner_fail
overall_fail = True
break
- if self.dump_debug_info:
- self.dump_debug_info.TakeScreenshot('_Test_Start_Run_')
- full_test_name = p.match.group(1).replace('\r', '')
- found = p.expect([re_ok, re_fail, re_crash], timeout=self.timeout)
- if found == 0: # re_ok
- if full_test_name == p.match.group(1).replace('\r', ''):
- ok_tests += [BaseTestResult(full_test_name, p.before)]
- continue
- if found == 2: # re_crash
- crashed_tests += [BaseTestResult(full_test_name, p.before)]
- overall_fail = True
- break
- # The test failed.
- failed_tests += [BaseTestResult(full_test_name, p.before)]
+ else: # re_run
+ if self.dump_debug_info:
+ self.dump_debug_info.TakeScreenshot('_Test_Start_Run_')
+
+ full_test_name = p.match.group(1).replace('\r', '')
+ found = p.expect([re_ok, re_fail, re_crash], timeout=self.timeout)
+ if found == 0: # re_ok
+ if full_test_name == p.match.group(1).replace('\r', ''):
+ ok_tests += [BaseTestResult(full_test_name, p.before)]
+ elif found == 2: # re_crash
+ crashed_tests += [BaseTestResult(full_test_name, p.before)]
+ overall_fail = True
+ break
+ else: # re_fail
+ failed_tests += [BaseTestResult(full_test_name, p.before)]
except pexpect.EOF:
logging.error('Test terminated - EOF')
raise errors.DeviceUnresponsiveError('Device may be offline')
@@ -169,11 +173,11 @@ class TestPackage(object):
ret_code = self._GetGTestReturnCode()
if ret_code:
- failed_tests += [BaseTestResult('gtest exit code: %d' % ret_code,
- 'pexpect.before: %s'
- '\npexpect.after: %s'
- % (p.before,
- p.after))]
+ logging.critical(
+ 'gtest exit code: %d\npexpect.before: %s\npexpect.after: %s',
+ ret_code, p.before, p.after)
+ overall_fail = True
+
# Create TestResults and return
return TestResults.FromRun(ok=ok_tests, failed=failed_tests,
crashed=crashed_tests, timed_out=timed_out,
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698