summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrett Chabot <brettchabot@android.com>2011-10-25 13:47:13 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-10-25 13:47:13 -0700
commitd0821774a85c3bdf86f574c7d4cafae1174026af (patch)
tree2eb8eb595e6c45f6d1dc1584866d0b2981520535
parent697bc37f3635d1dfb458ae31287f9b387ec59ff6 (diff)
parent93e9c3d2399cfa60a6f0ec2f91ea85c438da85e0 (diff)
downloadcts-d0821774a85c3bdf86f574c7d4cafae1174026af.tar.gz
Merge "Execute remaining tests in order." into ics-mr0
-rw-r--r--tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestFilter.java20
1 files changed, 18 insertions, 2 deletions
diff --git a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestFilter.java b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestFilter.java
index 58eee23c247..053b265e9a7 100644
--- a/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestFilter.java
+++ b/tools/tradefed-host/src/com/android/cts/tradefed/testtype/TestFilter.java
@@ -20,7 +20,10 @@ import com.android.ddmlib.testrunner.TestIdentifier;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -91,10 +94,10 @@ public class TestFilter {
* Filter the list of tests based on rules in this filter
*
* @param tests the list of tests to filter
- * @return a new list of tests that passed the filter
+ * @return a new sorted list of tests that passed the filter
*/
public Collection<TestIdentifier> filter(Collection<TestIdentifier > tests) {
- Collection<TestIdentifier> filteredTests = new ArrayList<TestIdentifier>(tests.size());
+ List<TestIdentifier> filteredTests = new ArrayList<TestIdentifier>(tests.size());
for (TestIdentifier test : tests) {
if (mIncludedClass != null && !test.getClassName().equals(mIncludedClass)) {
// skip
@@ -114,6 +117,7 @@ public class TestFilter {
}
filteredTests.add(test);
}
+ Collections.sort(filteredTests, new TestIdComparator());
return filteredTests;
}
@@ -123,4 +127,16 @@ public class TestFilter {
public boolean hasExclusion() {
return !mExcludedClasses.isEmpty() || !mExcludedTests.isEmpty();
}
+
+ /**
+ * A {@link Comparator} for {@link TestIdentifier} that compares using
+ * {@link TestIdentifier#toString()}
+ */
+ private class TestIdComparator implements Comparator<TestIdentifier> {
+
+ @Override
+ public int compare(TestIdentifier o1, TestIdentifier o2) {
+ return o1.toString().compareTo(o2.toString());
+ }
+ }
}