532030: Junit4TestFixtureRunner: sort the fixtues by Info
Change-Id: Id1b7945ed8222d37755a455ff2a4dedfe6f91531
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=532030
Signed-off-by: Frank Becker <eclipse@frank-becker.de>
diff --git a/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/Junit4TestFixtureRunner.java b/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/Junit4TestFixtureRunner.java
index b4acff7..c76e0f0 100644
--- a/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/Junit4TestFixtureRunner.java
+++ b/org.eclipse.mylyn.commons.sdk.util/src/org/eclipse/mylyn/commons/sdk/util/Junit4TestFixtureRunner.java
@@ -18,6 +18,7 @@
import java.lang.annotation.Target;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.Comparator;
import java.util.List;
import org.eclipse.core.runtime.IStatus;
@@ -188,9 +189,17 @@
TestConfiguration defFixture = TestConfiguration.getDefault();
List<AbstractTestFixture> parametersList = (List<AbstractTestFixture>) defFixture.discover(fixtureClass,
fixtureType);
+ ArrayList<AbstractTestFixture> sortedParametersList = new ArrayList<AbstractTestFixture>(parametersList);
+ sortedParametersList.sort(new Comparator<AbstractTestFixture>() {
+
+ @Override
+ public int compare(AbstractTestFixture o1, AbstractTestFixture o2) {
+ return o1.getInfo().compareTo(o2.getInfo());
+ }
+ });
List<AbstractTestFixture> fixturesToExecute = new ArrayList<AbstractTestFixture>();
if (restrictProperty != null) {
- for (AbstractTestFixture abstractFixture : parametersList) {
+ for (AbstractTestFixture abstractFixture : sortedParametersList) {
String tempProperty = abstractFixture.getProperty(restrictProperty);
if (tempProperty != null && tempProperty.equals(restrictValue)) {
fixturesToExecute.add(abstractFixture);
@@ -201,9 +210,9 @@
runners.add(new TestClassRunnerForFixture(getTestClass().getJavaClass(), fixturesToExecute, i));
}
}
- } else if (parametersList.size() > 0) {
- for (int i = 0; i < parametersList.size(); i++) {
- runners.add(new TestClassRunnerForFixture(getTestClass().getJavaClass(), parametersList, i));
+ } else if (sortedParametersList.size() > 0) {
+ for (int i = 0; i < sortedParametersList.size(); i++) {
+ runners.add(new TestClassRunnerForFixture(getTestClass().getJavaClass(), sortedParametersList, i));
}
}
} else {