Merge "Rename serial number environment variable to ANDROID_SERIAL"
diff --git a/test_framework/com/android/tradefed/testtype/GTestListener.java b/test_framework/com/android/tradefed/testtype/GTestListener.java
index c967d06..38c6498 100644
--- a/test_framework/com/android/tradefed/testtype/GTestListener.java
+++ b/test_framework/com/android/tradefed/testtype/GTestListener.java
@@ -22,8 +22,10 @@
import com.android.tradefed.result.TestDescription;
import com.android.tradefed.result.proto.TestRecordProto.FailureStatus;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
+import java.util.List;
import java.util.Set;
/**
@@ -32,6 +34,7 @@
*/
final class GTestListener extends ResultForwarder {
+ private static final int MAX_PARTIAL_SET_SIZE = 20;
private Set<TestDescription> mTests = new HashSet<>();
private Set<TestDescription> mDuplicateTests = new HashSet<>();
@@ -50,11 +53,19 @@
@Override
public void testRunEnded(long elapsedTime, HashMap<String, Metric> runMetrics) {
if (!mDuplicateTests.isEmpty()) {
- FailureDescription error =
- FailureDescription.create(
- String.format(
- "The following tests ran more than once: %s.",
- mDuplicateTests));
+ StringBuilder errorMessage = new StringBuilder();
+ errorMessage.append(
+ String.format("%s tests ran more than once.", mDuplicateTests.size()));
+ if (mDuplicateTests.size() > MAX_PARTIAL_SET_SIZE) {
+ List<TestDescription> partialDuplicateSet = new ArrayList<>(mDuplicateTests);
+ while (partialDuplicateSet.size() > MAX_PARTIAL_SET_SIZE) {
+ partialDuplicateSet.remove(0);
+ }
+ errorMessage.append(String.format(" Partial list: %s", partialDuplicateSet));
+ } else {
+ errorMessage.append(String.format(" Full list: %s", mDuplicateTests));
+ }
+ FailureDescription error = FailureDescription.create(errorMessage.toString());
error.setFailureStatus(FailureStatus.TEST_FAILURE);
super.testRunFailed(error);
}
diff --git a/tests/src/com/android/tradefed/testtype/GTestListenerTest.java b/tests/src/com/android/tradefed/testtype/GTestListenerTest.java
index 392ee75..d05f3fb 100644
--- a/tests/src/com/android/tradefed/testtype/GTestListenerTest.java
+++ b/tests/src/com/android/tradefed/testtype/GTestListenerTest.java
@@ -96,7 +96,7 @@
String moduleName = "testWithDuplicateTests";
String testClass = "testClass";
String testName1 = "testName1";
- String duplicateTestsMessage = "The following tests ran more than once: ";
+ String duplicateTestsMessage = "1 tests ran more than once. Full list:";
TestDescription testId1 = new TestDescription(testClass, testName1);
mMockListener.testRunStarted(EasyMock.eq(moduleName), EasyMock.eq(2));