You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ti...@apache.org on 2015/12/16 13:10:36 UTC
maven-surefire git commit: [SUREFIRE] avoid registering duplicated
listeners in surefire-junit4
Repository: maven-surefire
Updated Branches:
refs/heads/master 1d7630689 -> a717b0cb4
[SUREFIRE] avoid registering duplicated listeners in surefire-junit4
Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/a717b0cb
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/a717b0cb
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/a717b0cb
Branch: refs/heads/master
Commit: a717b0cb4492d64b8e05054f78fae9a1a8944e6c
Parents: 1d76306
Author: Tibor17 <ti...@lycos.com>
Authored: Wed Dec 16 13:09:59 2015 +0100
Committer: Tibor17 <ti...@lycos.com>
Committed: Wed Dec 16 13:09:59 2015 +0100
----------------------------------------------------------------------
.../maven/surefire/junit4/JUnit4Provider.java | 45 ++++++++++++++------
1 file changed, 33 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a717b0cb/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
index d57d4dd..b9df034 100644
--- a/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
+++ b/surefire-providers/surefire-junit4/src/main/java/org/apache/maven/surefire/junit4/JUnit4Provider.java
@@ -139,10 +139,6 @@ public class JUnit4Provider
}
Notifier notifier = new Notifier( new JUnit4RunListener( reporter ), getSkipAfterFailureCount() );
- if ( isFailFast() )
- {
- notifier.addListener( new JUnit4FailFastListener( notifier ) );
- }
Result result = new Result();
notifier.addListeners( customRunListeners )
.addListener( result.createListener() );
@@ -273,21 +269,46 @@ public class JUnit4Provider
JUnitTestFailureListener failureListener = new JUnitTestFailureListener();
notifier.addListener( failureListener );
boolean hasMethodFilter = testResolver != null && testResolver.hasMethodPatterns();
- execute( clazz, notifier, hasMethodFilter ? new TestResolverFilter() : new NullFilter() );
- // Rerun failing tests if rerunFailingTestsCount is larger than 0
- if ( isRerunFailingTests() )
+ try
{
- for ( int i = 0; i < rerunFailingTestsCount && !failureListener.getAllFailures().isEmpty(); i++ )
+ JUnit4FailFastListener failFastListener = null;
+ if ( isFailFast() )
+ {
+ failFastListener = new JUnit4FailFastListener( notifier );
+ notifier.addListener( failFastListener );
+ }
+
+ try
+ {
+ execute( clazz, notifier, hasMethodFilter ? new TestResolverFilter() : new NullFilter() );
+ }
+ finally
+ {
+ if ( failFastListener != null )
+ {
+ notifier.removeListener( failFastListener );
+ }
+ }
+
+ // Rerun failing tests if rerunFailingTestsCount is larger than 0
+ if ( isRerunFailingTests() )
{
- Set<ClassMethod> failedTests = generateFailingTests( failureListener.getAllFailures() );
- failureListener.reset();
- if ( !failedTests.isEmpty() )
+ for ( int i = 0; i < rerunFailingTestsCount && !failureListener.getAllFailures().isEmpty(); i++ )
{
- executeFailedMethod( notifier, failedTests );
+ Set<ClassMethod> failedTests = generateFailingTests( failureListener.getAllFailures() );
+ failureListener.reset();
+ if ( !failedTests.isEmpty() )
+ {
+ executeFailedMethod( notifier, failedTests );
+ }
}
}
}
+ finally
+ {
+ notifier.removeListener( failureListener );
+ }
}
public Iterable<Class<?>> getSuites()