Index: build/android/pylib/base/base_test_sharder.py |
diff --git a/build/android/pylib/base/base_test_sharder.py b/build/android/pylib/base/base_test_sharder.py |
index 73621010f055b115537417409c201347d251e36d..e33ff87f9762a0c720f694386e78e8dfa9cddec5 100644 |
--- a/build/android/pylib/base/base_test_sharder.py |
+++ b/build/android/pylib/base/base_test_sharder.py |
@@ -127,6 +127,10 @@ class BaseTestSharder(object): |
retry_devices -= TestResults.DeviceExceptions(results_lists) |
# Retry on devices that didn't have any exception. |
self.attached_devices = list(retry_devices) |
+ |
+ # TODO(frankf): Fix the retry logic: |
+ # - GetAllBroken() should report all tests not ran. |
+ # - Do not break TestResults encapsulation. |
if (retry == self.retries - 1 or |
len(self.attached_devices) == 0): |
all_passed = final_results.ok + test_results.ok |
@@ -135,9 +139,11 @@ class BaseTestSharder(object): |
break |
else: |
final_results.ok += test_results.ok |
- # Timed out tests are not reported in GetAllBroken(). |
- if test_results.timed_out: |
- final_results.timed_out = True |
+ final_results.overall_timed_out = (final_results.overall_timed_out or |
+ test_results.overall_timed_out) |
+ final_results.overall_fail = (final_results.overall_fail or |
+ test_results.overall_fail) |
+ |
self.tests = [] |
for t in test_results.GetAllBroken(): |
self.tests += [t.name] |