[testng] 31/160: Make addFailedInvocationNumber thread-safe

Eugene Zhukov eugene-guest at moszumanska.debian.org
Tue Aug 18 10:22:18 UTC 2015


This is an automated email from the git hooks/post-receive script.

eugene-guest pushed a commit to annotated tag testng-6.9.5
in repository testng.

commit c006ddfb2bc3d0192d2eff1e8e2a9beea8cefd95
Author: Ryan Schmitt <rschmitt at pobox.com>
Date:   Sat May 30 16:56:37 2015 -0700

    Make addFailedInvocationNumber thread-safe
---
 .../java/org/testng/internal/BaseTestMethod.java   |  2 +-
 src/test/java/test/testng387/FailedDPTest.java     | 12 ++-------
 src/test/java/test/testng387/TestNG387.java        | 29 +++++++---------------
 3 files changed, 12 insertions(+), 31 deletions(-)

diff --git a/src/main/java/org/testng/internal/BaseTestMethod.java b/src/main/java/org/testng/internal/BaseTestMethod.java
index 39b635d..9899bcb 100755
--- a/src/main/java/org/testng/internal/BaseTestMethod.java
+++ b/src/main/java/org/testng/internal/BaseTestMethod.java
@@ -63,7 +63,7 @@ public abstract class BaseTestMethod implements ITestNGMethod {
   private long m_invocationTimeOut = 0L;
 
   private List<Integer> m_invocationNumbers = Lists.newArrayList();
-  private List<Integer> m_failedInvocationNumbers = Lists.newArrayList();
+  private final List<Integer> m_failedInvocationNumbers = Collections.synchronizedList(Lists.<Integer>newArrayList());
   /**
    * {@inheritDoc}
    */
diff --git a/src/test/java/test/testng387/FailedDPTest.java b/src/test/java/test/testng387/FailedDPTest.java
index 72cd496..8824684 100644
--- a/src/test/java/test/testng387/FailedDPTest.java
+++ b/src/test/java/test/testng387/FailedDPTest.java
@@ -1,6 +1,7 @@
 package test.testng387;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Iterator;
 import java.util.List;
 
@@ -16,16 +17,7 @@ import org.testng.annotations.Test;
  * @author freynaud
  */
 public class FailedDPTest {
-
-	// prime numbers < 10
-	static List<Integer> primes = new ArrayList<Integer>();
-	public FailedDPTest(){
-		primes.add(2);
-		primes.add(3);
-		primes.add(5);
-		primes.add(7);
-	}
-
+	static final List<Integer> primes = Arrays.asList(2, 3, 5, 7);
 
 	/**
 	 * DP generating all number from 0 to 9.
diff --git a/src/test/java/test/testng387/TestNG387.java b/src/test/java/test/testng387/TestNG387.java
index f0130c3..27e6cdf 100644
--- a/src/test/java/test/testng387/TestNG387.java
+++ b/src/test/java/test/testng387/TestNG387.java
@@ -1,18 +1,15 @@
 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.*;
 import org.testng.annotations.Test;
 import test.SimpleBaseTest;
 
+import java.util.List;
+
+import static org.testng.Assert.assertEqualsNoOrder;
+
 public class TestNG387 extends SimpleBaseTest {
-  @Test
+  @Test(invocationCount = 500)
   public void testInvocationCounterIsCorrectForMethodWithDataProvider() throws Exception {
     final TestNG tng = create(FailedDPTest.class);
     tng.setThreadCount(1);
@@ -22,17 +19,9 @@ public class TestNG387 extends SimpleBaseTest {
     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);
+    ITestNGMethod method = tla.getTestContexts().get(0).getAllTestMethods()[0];
 
-    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");
+    List<Integer> failed = method.getFailedInvocationNumbers();
+    assertEqualsNoOrder(failed.toArray(), FailedDPTest.primes.toArray());
   }
 }

-- 
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