Fix instrumentation test tracking.
Track completed tests, rather than any test that was started.
Bug 5609457
Change-Id: I962779f3200a7464ff58cac3e923efa045caa4ba
diff --git a/src/com/android/tradefed/result/TestRunResult.java b/src/com/android/tradefed/result/TestRunResult.java
index 1c6a04c..ac87eea 100644
--- a/src/com/android/tradefed/result/TestRunResult.java
+++ b/src/com/android/tradefed/result/TestRunResult.java
@@ -22,6 +22,7 @@
import java.util.Collections;
import java.util.HashMap;
import java.util.LinkedHashMap;
+import java.util.LinkedHashSet;
import java.util.Map;
import java.util.Set;
@@ -130,10 +131,16 @@
}
/**
- * Gets the set of tests executed.
+ * Gets the set of completed tests.
*/
- public Set<TestIdentifier> getTests() {
- return mTestResults.keySet();
+ public Set<TestIdentifier> getCompletedTests() {
+ Set<TestIdentifier> completedTests = new LinkedHashSet<TestIdentifier>();
+ for (Map.Entry<TestIdentifier, TestResult> testEntry : getTestResults().entrySet()) {
+ if (!testEntry.getValue().getStatus().equals(TestStatus.INCOMPLETE)) {
+ completedTests.add(testEntry.getKey());
+ }
+ }
+ return completedTests;
}
/**
diff --git a/src/com/android/tradefed/testtype/InstrumentationTest.java b/src/com/android/tradefed/testtype/InstrumentationTest.java
index 628ae67..38819c2 100644
--- a/src/com/android/tradefed/testtype/InstrumentationTest.java
+++ b/src/com/android/tradefed/testtype/InstrumentationTest.java
@@ -457,7 +457,7 @@
*/
private void calculateRemainingTests(Collection<TestIdentifier> expectedTests,
CollectingTestListener testTracker) {
- expectedTests.removeAll(testTracker.getCurrentRunResults().getTests());
+ expectedTests.removeAll(testTracker.getCurrentRunResults().getCompletedTests());
}
/**
@@ -523,7 +523,7 @@
return null;
} else {
// success!
- return runResults.getTests();
+ return runResults.getCompletedTests();
}
}
if (communicationFailure) {
diff --git a/tests/src/com/android/tradefed/result/CollectingTestListenerTest.java b/tests/src/com/android/tradefed/result/CollectingTestListenerTest.java
index 75d200f..cfdfa69 100644
--- a/tests/src/com/android/tradefed/result/CollectingTestListenerTest.java
+++ b/tests/src/com/android/tradefed/result/CollectingTestListenerTest.java
@@ -118,8 +118,8 @@
assertEquals(1, mCollectingTestListener.getRunResults().size());
TestRunResult runResult = mCollectingTestListener.getCurrentRunResults();
assertEquals(2, runResult.getNumPassedTests());
- assertTrue(runResult.getTests().contains(test1));
- assertTrue(runResult.getTests().contains(test2));
+ assertTrue(runResult.getCompletedTests().contains(test1));
+ assertTrue(runResult.getCompletedTests().contains(test2));
}
/**