Skip to content

Commit a7d88b1

Browse files
committed
Fixing review comments
1 parent 2466655 commit a7d88b1

File tree

4 files changed

+29
-11
lines changed

4 files changed

+29
-11
lines changed

testng-core/src/main/java/org/testng/internal/invokers/TestInvoker.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1036,10 +1036,8 @@ public int invoke(int invCount) {
10361036
// See GITHUB-3238.
10371037
if (!isInvokingListeners.get()) {
10381038
runTestResultListener(r);
1039-
} else {
1040-
// Reset the flag since we're handling the listener exception here
1041-
isInvokingListeners.set(false);
10421039
}
1040+
isInvokingListeners.set(false);
10431041
m_notifier.addFailedTest(arguments.getTestMethod(), r);
10441042
} // catch
10451043
return invocationCount.get();

testng-core/src/test/java/test/listeners/ListenersTest.java

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -691,12 +691,16 @@ public void ensureInheritanceIsHandledWhenDealingWithListeners() {
691691
assertThat(testng.getStatus()).isZero();
692692
}
693693

694-
@Test(description = "GITHUB-3238")
695-
public void ensureListenerFailureDoesNotBreakTestNG() {
696-
TestNG testng =
697-
create(
698-
TestClassWithFailingTestMethodSample.class, TestClassWithPassingTestMethodSample.class);
699-
testng.setParallel(ParallelMode.CLASSES);
694+
@Test(description = "GITHUB-3238", dataProvider = "dp-3238")
695+
public void ensureListenerFailureDoesNotBreakTestNG(ParallelMode parallelMode) {
696+
XmlSuite xmlSuite =
697+
createXmlSuite(
698+
"3238_suite",
699+
"3238_test",
700+
TestClassWithFailingTestMethodSample.class,
701+
TestClassWithPassingTestMethodSample.class);
702+
xmlSuite.setParallel(parallelMode);
703+
TestNG testng = create(xmlSuite);
700704
AtomicInteger failingCount = new AtomicInteger(0);
701705
AtomicInteger passingCount = new AtomicInteger(0);
702706
testng.addListener(
@@ -713,7 +717,12 @@ public void onTestSuccess(ITestResult result) {
713717
});
714718
testng.run();
715719
assertThat(failingCount.get()).isEqualTo(1);
716-
assertThat(passingCount.get()).isEqualTo(1);
720+
assertThat(passingCount.get()).isEqualTo(5);
721+
}
722+
723+
@DataProvider(name = "dp-3238")
724+
public Object[][] getTestData() {
725+
return new Object[][] {{ParallelMode.CLASSES}, {ParallelMode.METHODS}};
717726
}
718727

719728
private void setupTest(boolean addExplicitListener) {

testng-core/src/test/java/test/listeners/issue3238/TestClassWithFailingTestMethodSample.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ public class TestClassWithFailingTestMethodSample {
99

1010
@Test
1111
public void failingTest() {
12-
System.err.println(":::::");
1312
Assert.fail();
1413
}
1514
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,20 @@
11
package test.listeners.issue3238;
22

3+
import org.testng.annotations.DataProvider;
34
import org.testng.annotations.Test;
45

56
public class TestClassWithPassingTestMethodSample {
67
@Test
78
public void testMethod() {}
9+
10+
@Test
11+
public void anotherTestMethod() {}
12+
13+
@Test(dataProvider = "dp")
14+
public void dataDrivenTest(int ignored) {}
15+
16+
@DataProvider(name = "dp", parallel = true)
17+
public Object[][] dp() {
18+
return new Object[][] {{1}, {2}, {3}};
19+
}
820
}

0 commit comments

Comments
 (0)