[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