Repository: maven-surefire Updated Branches: refs/heads/master 26a773387 -> 68d00aad4
[SUREFIRE] refactoring Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/68d00aad Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/68d00aad Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/68d00aad Branch: refs/heads/master Commit: 68d00aad44283488bfc2eff890631fe3da2bdda9 Parents: 26a7733 Author: tibordigana <tibo...@lycos.com> Authored: Sat Dec 12 15:23:59 2015 +0100 Committer: tibordigana <tibo...@lycos.com> Committed: Sat Dec 12 15:23:59 2015 +0100 ---------------------------------------------------------------------- .../surefire/testset/TestListResolver.java | 2 +- .../surefire/testset/TestListResolverTest.java | 2 +- .../group/match/SingleGroupMatcher.java | 23 +++++------- .../maven/surefire/junit4/JUnit4Provider.java | 28 +++++++------- .../surefire/junitcore/JUnitCoreProvider.java | 39 ++++++++++---------- .../maven/surefire/testng/TestNGProvider.java | 32 ++++++++-------- .../surefire/testng/TestNGXmlTestSuite.java | 17 +++++---- 7 files changed, 71 insertions(+), 72 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-api/src/main/java/org/apache/maven/surefire/testset/TestListResolver.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/testset/TestListResolver.java b/surefire-api/src/main/java/org/apache/maven/surefire/testset/TestListResolver.java index dccfdcb..ce80c4e 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/testset/TestListResolver.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/testset/TestListResolver.java @@ -144,7 +144,7 @@ public class TestListResolver return WILDCARD; } - public static TestListResolver getEmpty() + public static TestListResolver getEmptyTestListResolver() { return EMPTY; } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-api/src/test/java/org/apache/maven/surefire/testset/TestListResolverTest.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/test/java/org/apache/maven/surefire/testset/TestListResolverTest.java b/surefire-api/src/test/java/org/apache/maven/surefire/testset/TestListResolverTest.java index 8fb1729..81e876b 100644 --- a/surefire-api/src/test/java/org/apache/maven/surefire/testset/TestListResolverTest.java +++ b/surefire-api/src/test/java/org/apache/maven/surefire/testset/TestListResolverTest.java @@ -245,7 +245,7 @@ public class TestListResolverTest public void testShouldRunAny() { - TestListResolver resolver = TestListResolver.getEmpty(); + TestListResolver resolver = TestListResolver.getEmptyTestListResolver(); assertTrue( resolver.shouldRun( "pkg/MyTest.class", null ) ); resolver = new TestListResolver( Collections.<String>emptySet() ); http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-grouper/src/main/java/org/apache/maven/surefire/group/match/SingleGroupMatcher.java ---------------------------------------------------------------------- diff --git a/surefire-grouper/src/main/java/org/apache/maven/surefire/group/match/SingleGroupMatcher.java b/surefire-grouper/src/main/java/org/apache/maven/surefire/group/match/SingleGroupMatcher.java index 7107397..69517f9 100644 --- a/surefire-grouper/src/main/java/org/apache/maven/surefire/group/match/SingleGroupMatcher.java +++ b/surefire-grouper/src/main/java/org/apache/maven/surefire/group/match/SingleGroupMatcher.java @@ -29,25 +29,24 @@ import java.util.regex.PatternSyntaxException; public class SingleGroupMatcher implements GroupMatcher { - - private String enabled; + private final String enabled; + private final Pattern pattern; private Class<?> enabledClass; - private Pattern pattern; - public SingleGroupMatcher( String enabled ) { this.enabled = enabled.endsWith( ".class" ) ? enabled.substring( 0, enabled.length() - 6 ) : enabled; - + Pattern p; try { - this.pattern = Pattern.compile( enabled ); + p = Pattern.compile( enabled ); } - catch ( PatternSyntaxException pse ) + catch ( PatternSyntaxException e ) { - // ignore + p = null; } + pattern = p; } @Override @@ -55,7 +54,7 @@ public class SingleGroupMatcher { final int prime = 31; int result = 1; - result = prime * result + ( ( enabled == null ) ? 0 : enabled.hashCode() ); + result = prime * result + ( enabled == null ? 0 : enabled.hashCode() ); return result; } @@ -131,7 +130,6 @@ public class SingleGroupMatcher continue; } - // System.out.println( cat + ".endsWith(" + enabled + ")? " + ( cat.endsWith( enabled ) ) ); if ( cat.endsWith( enabled ) ) { return true; @@ -146,16 +144,15 @@ public class SingleGroupMatcher return false; } - public void loadGroupClasses( ClassLoader cloader ) + public void loadGroupClasses( ClassLoader classLoader ) { try { - enabledClass = cloader.loadClass( enabled ); + enabledClass = classLoader.loadClass( enabled ); } catch ( ClassNotFoundException e ) { throw new RuntimeException( "Unable to load category: " + enabled, e ); } } - } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/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 f7a6e30..0528574 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 @@ -54,6 +54,7 @@ import java.util.Set; import static java.lang.reflect.Modifier.isAbstract; import static java.lang.reflect.Modifier.isInterface; import static java.util.Collections.unmodifiableCollection; +import static org.apache.maven.surefire.booter.CommandReader.getReader; import static org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil.cutTestClassAndMethod; import static org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil.generateFailingTests; import static org.apache.maven.surefire.common.junit4.JUnit4Reflector.createDescription; @@ -96,19 +97,18 @@ public class JUnit4Provider private TestsToRun testsToRun; - public JUnit4Provider( ProviderParameters booterParameters ) + public JUnit4Provider( ProviderParameters bootParams ) { - // don't start a thread in MasterProcessReader while we are in in-plugin process - commandsReader = booterParameters.isInsideFork() ? CommandReader.getReader().setShutdown( - booterParameters.getShutdown() ) : null; - providerParameters = booterParameters; - testClassLoader = booterParameters.getTestClassLoader(); - scanResult = booterParameters.getScanResult(); - runOrderCalculator = booterParameters.getRunOrderCalculator(); - String listeners = booterParameters.getProviderProperties().get( "listener" ); + // don't start a thread in CommandReader while we are in in-plugin process + commandsReader = bootParams.isInsideFork() ? getReader().setShutdown( bootParams.getShutdown() ) : null; + providerParameters = bootParams; + testClassLoader = bootParams.getTestClassLoader(); + scanResult = bootParams.getScanResult(); + runOrderCalculator = bootParams.getRunOrderCalculator(); + String listeners = bootParams.getProviderProperties().get( "listener" ); customRunListeners = unmodifiableCollection( createCustomListeners( listeners ) ); jUnit4TestChecker = new JUnit4TestChecker( testClassLoader ); - TestRequest testRequest = booterParameters.getTestRequest(); + TestRequest testRequest = bootParams.getTestRequest(); testResolver = testRequest.getTestListResolver(); rerunFailingTestsCount = testRequest.getRerunFailingTestsCount(); } @@ -155,11 +155,12 @@ public class JUnit4Provider notifier.addListener( new JUnit4FailFastListener( notifier ) ); } Result result = new Result(); - notifier.addListeners( customRunListeners ).addListener( result.createListener() ); + notifier.addListeners( customRunListeners ) + .addListener( result.createListener() ); if ( isFailFast() && commandsReader != null ) { - registerPleaseStopJunitListener( notifier ); + registerPleaseStopJUnitListener( notifier ); } try @@ -190,7 +191,6 @@ public class JUnit4Provider notifier.fireTestRunFinished( result ); notifier.removeListeners(); } - rethrowAnyTestMechanismFailures( result ); } finally @@ -215,7 +215,7 @@ public class JUnit4Provider return isFailFast() && !isRerunFailingTests() ? providerParameters.getSkipAfterFailureCount() : 0; } - private CommandListener registerPleaseStopJunitListener( final Notifier notifier ) + private CommandListener registerPleaseStopJUnitListener( final Notifier notifier ) { CommandListener listener = new CommandListener() { http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java ---------------------------------------------------------------------- diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java index 9b3e9a7..aa0c1a7 100644 --- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java +++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/JUnitCoreProvider.java @@ -31,7 +31,6 @@ import org.apache.maven.surefire.common.junit48.JUnit48TestChecker; import org.apache.maven.surefire.providerapi.AbstractProvider; import org.apache.maven.surefire.providerapi.ProviderParameters; import org.apache.maven.surefire.report.ConsoleLogger; -import org.apache.maven.surefire.report.ConsoleOutputCapture; import org.apache.maven.surefire.report.ReporterFactory; import org.apache.maven.surefire.suite.RunResult; import org.apache.maven.surefire.testset.TestListResolver; @@ -51,10 +50,13 @@ import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import static java.util.Collections.unmodifiableCollection; +import static org.apache.maven.surefire.booter.CommandReader.getReader; import static org.apache.maven.surefire.common.junit4.JUnit4ProviderUtil.generateFailingTests; import static org.apache.maven.surefire.common.junit4.JUnit4RunListenerFactory.createCustomListeners; import static org.apache.maven.surefire.junitcore.ConcurrentRunListener.createInstance; +import static org.apache.maven.surefire.report.ConsoleOutputCapture.startCapture; import static org.apache.maven.surefire.testset.TestListResolver.optionallyWildcardFilter; +import static org.apache.maven.surefire.util.TestsToRun.fromClass; /** * @author Kristian Rosenvold @@ -87,20 +89,19 @@ public class JUnitCoreProvider private TestsToRun testsToRun; - public JUnitCoreProvider( ProviderParameters providerParameters ) + public JUnitCoreProvider( ProviderParameters bootParams ) { - commandsReader = providerParameters.isInsideFork() - ? CommandReader.getReader().setShutdown( providerParameters.getShutdown() ) - : null; - this.providerParameters = providerParameters; - testClassLoader = providerParameters.getTestClassLoader(); - scanResult = providerParameters.getScanResult(); - runOrderCalculator = providerParameters.getRunOrderCalculator(); - jUnitCoreParameters = new JUnitCoreParameters( providerParameters.getProviderProperties() ); + // don't start a thread in CommandReader while we are in in-plugin process + commandsReader = bootParams.isInsideFork() ? getReader().setShutdown( bootParams.getShutdown() ) : null; + providerParameters = bootParams; + testClassLoader = bootParams.getTestClassLoader(); + scanResult = bootParams.getScanResult(); + runOrderCalculator = bootParams.getRunOrderCalculator(); + jUnitCoreParameters = new JUnitCoreParameters( bootParams.getProviderProperties() ); scannerFilter = new JUnit48TestChecker( testClassLoader ); - testResolver = providerParameters.getTestRequest().getTestListResolver(); - rerunFailingTestsCount = providerParameters.getTestRequest().getRerunFailingTestsCount(); - String listeners = providerParameters.getProviderProperties().get( "listener" ); + testResolver = bootParams.getTestRequest().getTestListResolver(); + rerunFailingTestsCount = bootParams.getTestRequest().getRerunFailingTestsCount(); + String listeners = bootParams.getProviderProperties().get( "listener" ); customRunListeners = unmodifiableCollection( createCustomListeners( listeners ) ); jUnit48Reflector = new JUnit48Reflector( testClassLoader ); } @@ -126,7 +127,7 @@ public class JUnitCoreProvider final ReporterFactory reporterFactory = providerParameters.getReporterFactory(); - RunResult runResult; + final RunResult runResult; final ConsoleLogger consoleLogger = providerParameters.getConsoleLogger(); @@ -141,7 +142,7 @@ public class JUnitCoreProvider else if ( forkTestSet instanceof Class ) { Class<?> theClass = (Class<?>) forkTestSet; - testsToRun = TestsToRun.fromClass( theClass ); + testsToRun = fromClass( theClass ); } else { @@ -158,7 +159,7 @@ public class JUnitCoreProvider if ( isFailFast() && commandsReader != null ) { - registerPleaseStopJunitListener( notifier ); + registerPleaseStopJUnitListener( notifier ); } try @@ -216,7 +217,7 @@ public class JUnitCoreProvider return isFailFast() && !isRerunFailingTests() ? providerParameters.getSkipAfterFailureCount() : 0; } - private CommandListener registerPleaseStopJunitListener( final Notifier stoppable ) + private CommandListener registerPleaseStopJUnitListener( final Notifier stoppable ) { CommandListener listener = new CommandListener() { @@ -235,7 +236,7 @@ public class JUnitCoreProvider if ( isSingleThreaded() ) { NonConcurrentRunListener rm = new NonConcurrentRunListener( reporterFactory.createReporter() ); - ConsoleOutputCapture.startCapture( rm ); + startCapture( rm ); return rm; } else @@ -244,7 +245,7 @@ public class JUnitCoreProvider ConcurrentRunListener listener = createInstance( testSetMap, reporterFactory, isParallelTypes(), isParallelMethodsAndTypes(), consoleLogger ); - ConsoleOutputCapture.startCapture( listener ); + startCapture( listener ); return new JUnitCoreRunListener( listener, testSetMap ); } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java ---------------------------------------------------------------------- diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java index 3b263a4..c53a8e2 100644 --- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java +++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGProvider.java @@ -41,7 +41,10 @@ import java.util.Collection; import java.util.List; import java.util.Map; +import static org.apache.maven.surefire.booter.CommandReader.getReader; +import static org.apache.maven.surefire.testset.TestListResolver.getEmptyTestListResolver; import static org.apache.maven.surefire.testset.TestListResolver.optionallyWildcardFilter; +import static org.apache.maven.surefire.util.TestsToRun.fromClass; /** * @author Kristian Rosenvold @@ -70,20 +73,18 @@ public class TestNGProvider private TestsToRun testsToRun; - public TestNGProvider( ProviderParameters booterParameters ) + public TestNGProvider( ProviderParameters bootParams ) { - // don't start a thread in MasterProcessReader while we are in in-plugin process - commandsReader = booterParameters.isInsideFork() - ? CommandReader.getReader().setShutdown( booterParameters.getShutdown() ) - : null; - providerParameters = booterParameters; - testClassLoader = booterParameters.getTestClassLoader(); - runOrderCalculator = booterParameters.getRunOrderCalculator(); - providerProperties = booterParameters.getProviderProperties(); - testRequest = booterParameters.getTestRequest(); - reporterConfiguration = booterParameters.getReporterConfiguration(); - scanResult = booterParameters.getScanResult(); - mainCliOptions = booterParameters.getMainCliOptions(); + // don't start a thread in CommandReader while we are in in-plugin process + commandsReader = bootParams.isInsideFork() ? getReader().setShutdown( bootParams.getShutdown() ) : null; + providerParameters = bootParams; + testClassLoader = bootParams.getTestClassLoader(); + runOrderCalculator = bootParams.getRunOrderCalculator(); + providerProperties = bootParams.getProviderProperties(); + testRequest = bootParams.getTestRequest(); + reporterConfiguration = bootParams.getReporterConfiguration(); + scanResult = bootParams.getScanResult(); + mainCliOptions = bootParams.getMainCliOptions(); } public RunResult invoke( Object forkTestSet ) @@ -104,7 +105,6 @@ public class TestNGProvider try { - if ( isTestNGXmlTestSuite( testRequest ) ) { TestNGXmlTestSuite testNGXmlTestSuite = newXmlSuite(); @@ -128,7 +128,7 @@ public class TestNGProvider } else if ( forkTestSet instanceof Class ) { - testsToRun = TestsToRun.fromClass( (Class<?>) forkTestSet ); + testsToRun = fromClass( (Class<?>) forkTestSet ); } else { @@ -238,6 +238,6 @@ public class TestNGProvider private TestListResolver getTestFilter() { TestListResolver filter = optionallyWildcardFilter( testRequest.getTestListResolver() ); - return filter.isWildcard() ? TestListResolver.getEmpty() : filter; + return filter.isWildcard() ? getEmptyTestListResolver() : filter; } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/68d00aad/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java ---------------------------------------------------------------------- diff --git a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java index 72c0846..f493fe7 100644 --- a/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java +++ b/surefire-providers/surefire-testng/src/main/java/org/apache/maven/surefire/testng/TestNGXmlTestSuite.java @@ -24,12 +24,16 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; -import org.apache.maven.surefire.report.ConsoleOutputCapture; import org.apache.maven.surefire.report.ConsoleOutputReceiver; import org.apache.maven.surefire.report.ReporterFactory; import org.apache.maven.surefire.report.RunListener; import org.apache.maven.surefire.testset.TestSetFailedException; +import static org.apache.maven.surefire.report.ConsoleOutputCapture.startCapture; +import static org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.finishTestSuite; +import static org.apache.maven.surefire.testng.TestNGDirectoryTestSuite.startTestSuite; +import static org.apache.maven.surefire.testng.TestNGExecutor.run; + /** * Handles suite xml file definitions for TestNG. * @@ -75,14 +79,11 @@ public class TestNGXmlTestSuite { throw new IllegalStateException( "You must call locateTestSets before calling execute" ); } -// RunListener reporter = new SynchronizedReporterManager( reporterManagerFactory.createReporter() ); RunListener reporter = reporterManagerFactory.createReporter(); - ConsoleOutputCapture.startCapture( (ConsoleOutputReceiver) reporter ); - - TestNGDirectoryTestSuite.startTestSuite( reporter, this ); - TestNGExecutor.run( suiteFilePaths, testSourceDirectory, options, reporter, this, reportsDirectory, - skipAfterFailureCount ); - TestNGDirectoryTestSuite.finishTestSuite( reporter, this ); + startCapture( (ConsoleOutputReceiver) reporter ); + startTestSuite( reporter, this ); + run( suiteFilePaths, testSourceDirectory, options, reporter, this, reportsDirectory, skipAfterFailureCount ); + finishTestSuite( reporter, this ); } public void execute( String testSetName, ReporterFactory reporterManagerFactory )