All tests passing.
diff --git a/src/main/java/org/testng/TestRunner.java b/src/main/java/org/testng/TestRunner.java
index 2a82e6a..5a3fa39 100644
--- a/src/main/java/org/testng/TestRunner.java
+++ b/src/main/java/org/testng/TestRunner.java
@@ -1131,7 +1131,7 @@
private List<MethodInstance> methodsToMultipleMethodInstances(ITestNGMethod... sl) {
List<MethodInstance> vResult = Lists.newArrayList();
for (ITestNGMethod m : sl) {
- Object[] instances = m.getTestClass().getInstances(true);
+ Object[] instances = m.getInstances();
for (Object instance : instances) {
vResult.add(new MethodInstance(m, new Object[] { instance }));
}
@@ -1143,7 +1143,7 @@
private MethodInstance[] methodsToMethodInstances(List<ITestNGMethod> sl) {
MethodInstance[] result = new MethodInstance[sl.size()];
for (int i = 0; i < result.length; i++) {
- result[i] = new MethodInstance(sl.get(i), sl.get(i).getTestClass().getInstances(true));
+ result[i] = new MethodInstance(sl.get(i), sl.get(i).getInstances());
}
return result;
diff --git a/src/main/java/org/testng/internal/BaseTestMethod.java b/src/main/java/org/testng/internal/BaseTestMethod.java
index bdb33ec..1039bc7 100755
--- a/src/main/java/org/testng/internal/BaseTestMethod.java
+++ b/src/main/java/org/testng/internal/BaseTestMethod.java
@@ -409,7 +409,8 @@
boolean isEqual = m_testClass == null ? other.m_testClass == null
: other.m_testClass != null &&
- m_testClass.getRealClass().equals(other.m_testClass.getRealClass());
+ m_testClass.getRealClass().equals(other.m_testClass.getRealClass())
+ && m_instance == other.getInstance();
return isEqual && getConstructorOrMethod().equals(other.getConstructorOrMethod());
}
diff --git a/src/main/java/org/testng/internal/TestMethodWorker.java b/src/main/java/org/testng/internal/TestMethodWorker.java
index 5d1e7c2..deca897 100644
--- a/src/main/java/org/testng/internal/TestMethodWorker.java
+++ b/src/main/java/org/testng/internal/TestMethodWorker.java
@@ -222,14 +222,12 @@
}
for(Object inst: invokeInstances) {
- System.out.println("Invoking after classes for instance " + inst);
m_invoker.invokeConfigurations(testClass,
afterClassMethods,
m_suite,
m_parameters,
null, /* no parameter values */
inst);
- System.out.println("Done invoking after classes for instance " + inst);
}
}
}
diff --git a/src/test/java/test/dependent/GroupByInstancesSampleTest.java b/src/test/java/test/dependent/GroupByInstancesSampleTest.java
index 00b274d..2d18501 100644
--- a/src/test/java/test/dependent/GroupByInstancesSampleTest.java
+++ b/src/test/java/test/dependent/GroupByInstancesSampleTest.java
@@ -3,12 +3,13 @@
import org.testng.annotations.DataProvider;
import org.testng.annotations.Factory;
import org.testng.annotations.Test;
+import org.testng.collections.Lists;
import java.util.List;
public class GroupByInstancesSampleTest {
private String m_country;
- public static List<String> m_log;
+ public static List<String> m_log = Lists.newArrayList();
private static void log(String method, String country) {
m_log.add(method + "#" + country);
@@ -36,4 +37,9 @@
public void signOut() {
log("signOut", m_country);
}
+
+ @Override
+ public String toString() {
+ return "[GroupByInstancesSampleTest: " + m_country + "]";
+ }
}
diff --git a/src/test/java/test/factory/BaseFactory.java b/src/test/java/test/factory/BaseFactory.java
index 8d8fe3d..6ad2e0c 100644
--- a/src/test/java/test/factory/BaseFactory.java
+++ b/src/test/java/test/factory/BaseFactory.java
@@ -17,4 +17,13 @@
@Test
public void f() {
}
+
+ /**
+ * @@@ for some reason, the test results get added in the wrong order if
+ * I don't define a toString() method. Need to investigate.
+ */
+ @Override
+ public String toString() {
+ return "[" + getClass().getName() + " " + getN() + "]";
+ }
}
diff --git a/src/test/java/test/factory/FactoryDataProviderSampleTest.java b/src/test/java/test/factory/FactoryDataProviderSampleTest.java
index 822c4d5..3ce8db6 100644
--- a/src/test/java/test/factory/FactoryDataProviderSampleTest.java
+++ b/src/test/java/test/factory/FactoryDataProviderSampleTest.java
@@ -19,4 +19,13 @@
};
}
+ @Override
+ public String toString() {
+ return "[FactoryDataProviderSampleTest " + getN() + "]";
+ }
+
+ @Test
+ public void f() {
+// System.out.println("Test:" + getN());
+ }
}
diff --git a/src/test/java/test/factory/FactoryDataProviderTest.java b/src/test/java/test/factory/FactoryDataProviderTest.java
index e5cfeb7..b8f91de 100644
--- a/src/test/java/test/factory/FactoryDataProviderTest.java
+++ b/src/test/java/test/factory/FactoryDataProviderTest.java
@@ -43,8 +43,11 @@
Assert.assertEquals(tla.getPassedTests().size(), 2);
Iterator<ITestResult> iterator = tla.getPassedTests().iterator();
BaseFactory t1 = (BaseFactory) iterator.next().getInstance();
- Assert.assertEquals(t1.getN(), n1);
BaseFactory t2 = (BaseFactory) iterator.next().getInstance();
+// Assert.assertTrue(t1.getN() == n1 || t1.getN() == n2);
+// Assert.assertTrue(t2.getN() == n1 || t2.getN() == n2);
+// System.out.println("Results:" + t1.getN() + " " + t2.getN());
+ Assert.assertEquals(t1.getN(), n1);
Assert.assertEquals(t2.getN(), n2);
}
}
diff --git a/src/test/java/test/factory/FactoryDataProviderWithNoArgCtorSampleErrorTest.java b/src/test/java/test/factory/FactoryDataProviderWithNoArgCtorSampleErrorTest.java
index 8ba6c59..e8ac513 100644
--- a/src/test/java/test/factory/FactoryDataProviderWithNoArgCtorSampleErrorTest.java
+++ b/src/test/java/test/factory/FactoryDataProviderWithNoArgCtorSampleErrorTest.java
@@ -21,4 +21,8 @@
new Object[] { 46 },
};
}
+ @Override
+ public String toString() {
+ return "[FactoryDataProviderWithNoArgCtorSampleErrorTest " + getN() + "]";
+ }
}
diff --git a/src/test/java/test/factory/FactoryInterleavingTest.java b/src/test/java/test/factory/FactoryInterleavingTest.java
index e800fc3..89e8d66 100644
--- a/src/test/java/test/factory/FactoryInterleavingTest.java
+++ b/src/test/java/test/factory/FactoryInterleavingTest.java
@@ -28,6 +28,11 @@
10, 11, 12, 13,
};
Integer[] logArray = LOG.toArray(new Integer[LOG.size()]);
- Assert.assertTrue(Arrays.equals(logArray, valid1) || Arrays.equals(logArray, valid2));
+ if (! logArray.equals(valid1)) {
+ Assert.assertEquals(logArray, valid1);
+ } else if (! logArray.equals(valid2)) {
+ System.err.println(logArray + " " + valid2);
+ Assert.assertEquals(logArray, valid2);
+ }
}
}