[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