[testng] 78/355: Make test for TESTNG-387 work
Eugene Zhukov
eugene-guest at moszumanska.debian.org
Tue Aug 18 10:19:50 UTC 2015
This is an automated email from the git hooks/post-receive script.
eugene-guest pushed a commit to annotated tag OpenBSD
in repository testng.
commit ce6799e0f32785dac3a8971948977842478f54c3
Author: Vladislav Rassokhin <vladrassokhin at gmail.com>
Date: Sun Nov 16 08:26:56 2014 +0300
Make test for TESTNG-387 work
---
src/test/java/test/testng387/FailedDPTest.java | 43 +++-----------------------
src/test/java/test/testng387/TestNG387.java | 38 +++++++++++++++++++++++
src/test/resources/testng.xml | 1 +
3 files changed, 43 insertions(+), 39 deletions(-)
diff --git a/src/test/java/test/testng387/FailedDPTest.java b/src/test/java/test/testng387/FailedDPTest.java
index 317d3bc..72cd496 100644
--- a/src/test/java/test/testng387/FailedDPTest.java
+++ b/src/test/java/test/testng387/FailedDPTest.java
@@ -1,16 +1,12 @@
package test.testng387;
-import org.testng.Assert;
-import org.testng.ITestContext;
-import org.testng.ITestNGMethod;
-import org.testng.annotations.AfterClass;
-import org.testng.annotations.DataProvider;
-import org.testng.annotations.Test;
-
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import org.testng.annotations.DataProvider;
+import org.testng.annotations.Test;
+
/**
* test for http://jira.opensymphony.com/browse/TESTNG-387
* The invocation-numbers logic in failed.xml is wrong for dataprovider and parallel=true
@@ -22,7 +18,7 @@ import java.util.List;
public class FailedDPTest {
// prime numbers < 10
- private List<Integer> primes = new ArrayList<Integer>();
+ static List<Integer> primes = new ArrayList<Integer>();
public FailedDPTest(){
primes.add(2);
primes.add(3);
@@ -54,35 +50,4 @@ public class FailedDPTest {
}
}
- /**
- * validates that the failed invoc number are the correct ones, ie the prime numbers.
- * @param ctx
- */
- @AfterClass(alwaysRun=true)
- public void check(ITestContext ctx){
- ITestNGMethod testMethod = getMethod(ctx, "isNotPrime");
-
- List<Integer> failed = testMethod.getFailedInvocationNumbers();
- if (failed.size() != primes.size()){
- throw new Error();
- }
- for (Integer num : primes) {
- Assert.assertTrue(failed.contains(num),num+" should be present to be retried.It is not.");
- }
- }
-
-
-
- private ITestNGMethod getMethod(ITestContext ctx, String methodName) {
-
- ITestNGMethod method = null;
- for (int i = 0; i < ctx.getAllTestMethods().length; i++) {
- method = ctx.getAllTestMethods()[i];
- if (method.getMethodName().equals(methodName)) {
- return method;
- }
- }
- throw new RuntimeException("test case creation bug.");
- }
-
}
diff --git a/src/test/java/test/testng387/TestNG387.java b/src/test/java/test/testng387/TestNG387.java
new file mode 100644
index 0000000..f0130c3
--- /dev/null
+++ b/src/test/java/test/testng387/TestNG387.java
@@ -0,0 +1,38 @@
+package test.testng387;
+
+import java.util.Collections;
+import java.util.List;
+
+import org.testng.Assert;
+import org.testng.ITestContext;
+import org.testng.ITestNGMethod;
+import org.testng.TestListenerAdapter;
+import org.testng.TestNG;
+import org.testng.annotations.Test;
+import test.SimpleBaseTest;
+
+public class TestNG387 extends SimpleBaseTest {
+ @Test
+ public void testInvocationCounterIsCorrectForMethodWithDataProvider() throws Exception {
+ final TestNG tng = create(FailedDPTest.class);
+ tng.setThreadCount(1);
+ tng.setParallel("false");
+ tng.setPreserveOrder(true);
+ final TestListenerAdapter tla = new TestListenerAdapter();
+ tng.addListener(tla);
+ tng.run();
+
+ final List<ITestContext> contexts = tla.getTestContexts();
+ Assert.assertNotNull(contexts);
+ Assert.assertEquals(contexts.size(), 1);
+ final ITestContext context = contexts.iterator().next();
+ Assert.assertNotNull(context);
+ final ITestNGMethod[] methods = context.getAllTestMethods();
+ Assert.assertNotNull(methods.length);
+ Assert.assertEquals(methods.length, 1);
+
+ List<Integer> failed = methods[0].getFailedInvocationNumbers();
+ Collections.sort(failed); // Is that correct? Shouldn't be already sorted by Invoker (like DataProvider parameters)
+ Assert.assertEquals(failed, FailedDPTest.primes, "FailedInvocationNumbers mismatch");
+ }
+}
diff --git a/src/test/resources/testng.xml b/src/test/resources/testng.xml
index ca8b566..7877140 100644
--- a/src/test/resources/testng.xml
+++ b/src/test/resources/testng.xml
@@ -121,6 +121,7 @@
<class name="test.testng234.PolymorphicFailureTest" />
<class name="test.reports.FailedReporterTest" />
<class name="test.reports.ReporterLogTest" />
+ <class name="test.testng387.TestNG387"/>
</classes>
</test>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/testng.git
More information about the pkg-java-commits
mailing list