Index: build/android/pylib/gtest/test_package.py |
diff --git a/build/android/pylib/gtest/test_package.py b/build/android/pylib/gtest/test_package.py |
index c1172c882409c2e1e00094e2bddadd42deaaaa27..a3a17b233237d84ab9ef8a1a5830533e5d4b2c65 100644 |
--- a/build/android/pylib/gtest/test_package.py |
+++ b/build/android/pylib/gtest/test_package.py |
@@ -4,13 +4,13 @@ |
import logging |
-import re |
import os |
+import re |
from pylib import constants |
from pylib import pexpect |
from pylib.android_commands import errors |
-from pylib.base.test_result import BaseTestResult, TestResults |
+from pylib.base import base_test_result |
from pylib.perf_tests_helper import PrintPerfResult |
@@ -123,13 +123,14 @@ class TestPackage(object): |
def _WatchTestOutput(self, p): |
"""Watches the test output. |
+ |
Args: |
p: the process generating output as created by pexpect.spawn. |
+ |
+ Returns: |
+ A TestRunResults object. |
""" |
- ok_tests = [] |
- failed_tests = [] |
- crashed_tests = [] |
- timed_out_tests = [] |
+ results = base_test_result.TestRunResults() |
# Test case statuses. |
re_run = re.compile('\[ RUN \] ?(.*)\r\n') |
@@ -146,7 +147,6 @@ class TestPackage(object): |
try: |
while True: |
full_test_name = None |
- |
found = p.expect([re_run, re_passed, re_runner_fail], |
timeout=self.timeout) |
if found == 1: # re_passed |
@@ -158,12 +158,17 @@ class TestPackage(object): |
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)] |
+ results.AddResult(base_test_result.BaseTestResult( |
+ full_test_name, base_test_result.ResultType.PASS, |
+ log=p.before)) |
elif found == 2: # re_crash |
- crashed_tests += [BaseTestResult(full_test_name, p.before)] |
+ results.AddResult(base_test_result.BaseTestResult( |
+ full_test_name, base_test_result.ResultType.CRASH, |
+ log=p.before)) |
break |
else: # re_fail |
- failed_tests += [BaseTestResult(full_test_name, p.before)] |
+ results.AddResult(base_test_result.BaseTestResult( |
+ full_test_name, base_test_result.ResultType.FAIL, log=p.before)) |
except pexpect.EOF: |
logging.error('Test terminated - EOF') |
# We're here because either the device went offline, or the test harness |
@@ -171,13 +176,15 @@ class TestPackage(object): |
if not self.adb.IsOnline(): |
raise errors.DeviceUnresponsiveError('Device %s went offline.' % |
self.device) |
- elif full_test_name: |
- crashed_tests += [BaseTestResult(full_test_name, p.before)] |
+ if full_test_name: |
+ results.AddResult(base_test_result.BaseTestResult( |
+ full_test_name, base_test_result.ResultType.CRASH, log=p.before)) |
except pexpect.TIMEOUT: |
logging.error('Test terminated after %d second timeout.', |
self.timeout) |
if full_test_name: |
- timed_out_tests += [BaseTestResult(full_test_name, p.before)] |
+ results.AddResult(base_test_result.BaseTestResult( |
+ full_test_name, base_test_result.ResultType.TIMEOUT, log=p.before)) |
finally: |
p.close() |
@@ -187,6 +194,4 @@ class TestPackage(object): |
'gtest exit code: %d\npexpect.before: %s\npexpect.after: %s', |
ret_code, p.before, p.after) |
- # Create TestResults and return |
- return TestResults.FromRun(ok=ok_tests, failed=failed_tests, |
- crashed=crashed_tests, timed_out=timed_out_tests) |
+ return results |