Repository: maven-surefire Updated Branches: refs/heads/master 3c662f89c -> a84b304cd
[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/a84b304c Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/a84b304c Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/a84b304c Branch: refs/heads/master Commit: a84b304cd427c1cf6e0bb027084811df4fa8d374 Parents: 3c662f8 Author: Tibor17 <tibo...@lycos.com> Authored: Thu Jan 1 14:43:48 2015 +0100 Committer: Tibor17 <tibo...@lycos.com> Committed: Thu Jan 1 14:43:48 2015 +0100 ---------------------------------------------------------------------- .../surefire/booterclient/ForkStarter.java | 48 +++++++++----------- .../OutputStreamFlushableCommandline.java | 2 +- .../TestProvidingInputStream.java | 10 ++-- .../booterclient/output/ForkClient.java | 6 ++- .../surefire/booter/ForkingRunListener.java | 22 ++++----- .../maven/surefire/booter/ForkedBooter.java | 8 ++-- .../maven/surefire/booter/LazyTestsToRun.java | 29 ++++++------ 7 files changed, 59 insertions(+), 66 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java index acd8da9..3c3ed59 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/ForkStarter.java @@ -153,43 +153,40 @@ public class ForkStarter public RunResult run( SurefireProperties effectiveSystemProperties, DefaultScanResult scanResult ) throws SurefireBooterForkException, SurefireExecutionException { - final RunResult result; try { Properties providerProperties = providerConfiguration.getProviderProperties(); scanResult.writeTo( providerProperties ); - if ( isForkOnce() ) - { - DefaultReporterFactory forkedReporterFactory = new DefaultReporterFactory( startupReportConfiguration ); - defaultReporterFactoryList.add( forkedReporterFactory ); - final ForkClient forkClient = - new ForkClient( forkedReporterFactory, startupReportConfiguration.getTestVmSystemProperties() ); - result = fork( null, new PropertiesWrapper( providerProperties ), forkClient, effectiveSystemProperties, - null ); - } - else - { - if ( forkConfiguration.isReuseForks() ) - { - result = runSuitesForkOnceMultiple( effectiveSystemProperties, forkConfiguration.getForkCount() ); - } - else - { - result = runSuitesForkPerTestSet( effectiveSystemProperties, forkConfiguration.getForkCount() ); - } - } + return isForkOnce() + ? run( effectiveSystemProperties, providerProperties ) + : run( effectiveSystemProperties ); } finally { defaultReporterFactory.mergeFromOtherFactories( defaultReporterFactoryList ); defaultReporterFactory.close(); } - return result; + } + + private RunResult run( SurefireProperties effectiveSystemProperties, Properties providerProperties ) + throws SurefireBooterForkException { + DefaultReporterFactory forkedReporterFactory = new DefaultReporterFactory( startupReportConfiguration ); + defaultReporterFactoryList.add( forkedReporterFactory ); + final ForkClient forkClient = + new ForkClient( forkedReporterFactory, startupReportConfiguration.getTestVmSystemProperties() ); + return fork( null, new PropertiesWrapper( providerProperties ), forkClient, effectiveSystemProperties, null ); + } + + private RunResult run( SurefireProperties effectiveSystemProperties ) + throws SurefireBooterForkException { + return forkConfiguration.isReuseForks() + ? runSuitesForkOnceMultiple( effectiveSystemProperties, forkConfiguration.getForkCount() ) + : runSuitesForkPerTestSet( effectiveSystemProperties, forkConfiguration.getForkCount() ); } private boolean isForkOnce() { - return forkConfiguration.isReuseForks() && ( 1 == forkConfiguration.getForkCount() || hasSuiteXmlFiles() ); + return forkConfiguration.isReuseForks() && ( forkConfiguration.getForkCount() == 1 || hasSuiteXmlFiles() ); } private boolean hasSuiteXmlFiles() @@ -234,7 +231,7 @@ public class ForkStarter throws Exception { TestProvidingInputStream testProvidingInputStream = - new TestProvidingInputStream( messageQueue ); + new TestProvidingInputStream( messageQueue ); DefaultReporterFactory forkedReporterFactory = new DefaultReporterFactory( startupReportConfiguration ); @@ -309,8 +306,7 @@ public class ForkStarter DefaultReporterFactory forkedReporterFactory = new DefaultReporterFactory( startupReportConfiguration ); defaultReporterFactoryList.add( forkedReporterFactory ); - ForkClient forkClient = - new ForkClient( forkedReporterFactory, + ForkClient forkClient = new ForkClient( forkedReporterFactory, startupReportConfiguration.getTestVmSystemProperties() ); return fork( testSet, new PropertiesWrapper( providerConfiguration.getProviderProperties() ), forkClient, effectiveSystemProperties, null ); http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/OutputStreamFlushableCommandline.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/OutputStreamFlushableCommandline.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/OutputStreamFlushableCommandline.java index ea8e0f6..0abf42f 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/OutputStreamFlushableCommandline.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/OutputStreamFlushableCommandline.java @@ -55,7 +55,7 @@ public class OutputStreamFlushableCommandline } } - private FlushReceiver flushReceiver; + private volatile FlushReceiver flushReceiver; @Override public Process execute() http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java index cb48cf0..a33ce62 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/lazytestprovider/TestProvidingInputStream.java @@ -44,11 +44,11 @@ public class TestProvidingInputStream private int currentPos; - private Semaphore semaphore = new Semaphore( 0 ); + private final Semaphore semaphore = new Semaphore( 0 ); private FlushReceiverProvider flushReceiverProvider; - private boolean closed = false; + private volatile boolean closed = false; /** * C'tor @@ -88,7 +88,7 @@ public class TestProvidingInputStream } String currentElement = testItemQueue.poll(); - if ( null != currentElement ) + if ( currentElement != null ) { currentBuffer = currentElement.getBytes(); currentPos = 0; @@ -101,12 +101,12 @@ public class TestProvidingInputStream if ( currentPos < currentBuffer.length ) { - return ( currentBuffer[currentPos++] & 0xff ); + return currentBuffer[currentPos++] & 0xff; } else { currentBuffer = null; - return ( '\n' & 0xff ); + return '\n' & 0xff; } } http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java ---------------------------------------------------------------------- diff --git a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java index 289b864..7a2a15b 100644 --- a/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java +++ b/maven-surefire-common/src/main/java/org/apache/maven/plugin/surefire/booterclient/output/ForkClient.java @@ -170,11 +170,13 @@ public class ForkClient } catch ( NumberFormatException e ) { - System.out.println( "SUREFIRE-859: " + s ); + // SUREFIRE-859 + System.out.println( s ); } catch ( NoSuchElementException e ) { - System.out.println( "SUREFIRE-859: " + s ); + // SUREFIRE-859 + System.out.println( s ); } catch ( ReporterException e ) { http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java ---------------------------------------------------------------------- diff --git a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java index a4f4dc1..5874d0b 100644 --- a/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java +++ b/surefire-api/src/main/java/org/apache/maven/surefire/booter/ForkingRunListener.java @@ -84,7 +84,7 @@ public class ForkingRunListener private final PrintStream target; - private final Integer testSetChannelId; + private final int testSetChannelId; private final boolean trimStackTraces; @@ -212,18 +212,16 @@ public class ForkingRunListener public void info( String message ) { - if ( message == null ) + if ( message != null ) { - return; - } - - StringBuilder sb = new StringBuilder( 7 + message.length() * 5 ); - append( sb, BOOTERCODE_CONSOLE ); comma( sb ); - append( sb, Integer.toHexString( testSetChannelId ) ); comma( sb ); - StringUtils.escapeToPrintable( sb, message ); + StringBuilder sb = new StringBuilder( 7 + message.length() * 5 ); + append( sb, BOOTERCODE_CONSOLE ); comma( sb ); + append( sb, Integer.toHexString( testSetChannelId ) ); comma( sb ); + StringUtils.escapeToPrintable( sb, message ); - sb.append( '\n' ); - target.print( sb.toString() ); + sb.append( '\n' ); + target.print( sb.toString() ); + } } private String toPropertyString( String key, String value ) @@ -240,7 +238,7 @@ public class ForkingRunListener return stringBuilder.toString(); } - private String toString( byte operationCode, ReportEntry reportEntry, Integer testSetChannelId ) + private String toString( byte operationCode, ReportEntry reportEntry, int testSetChannelId ) { StringBuilder stringBuilder = new StringBuilder(); append( stringBuilder, operationCode ); comma( stringBuilder ); http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java ---------------------------------------------------------------------- diff --git a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java index 801fb4f..fcd44d8 100644 --- a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java +++ b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java @@ -80,14 +80,14 @@ public class ForkedBooter classpathConfiguration.trickClassPathWhenManifestOnlyClasspath(); } - Thread.currentThread().getContextClassLoader().setDefaultAssertionStatus( - classpathConfiguration.isEnableAssertions() ); + ClassLoader classLoader = Thread.currentThread().getContextClassLoader(); + classLoader.setDefaultAssertionStatus( classpathConfiguration.isEnableAssertions() ); startupConfiguration.writeSurefireTestClasspathProperty(); - Object testSet; + final Object testSet; if ( forkedTestSet != null ) { - testSet = forkedTestSet.getDecodedValue( Thread.currentThread().getContextClassLoader() ); + testSet = forkedTestSet.getDecodedValue( classLoader ); } else if ( readTestsFromInputStream ) { http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/a84b304c/surefire-booter/src/main/java/org/apache/maven/surefire/booter/LazyTestsToRun.java ---------------------------------------------------------------------- diff --git a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/LazyTestsToRun.java b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/LazyTestsToRun.java index 9efe8fa..404e5fa 100644 --- a/surefire-booter/src/main/java/org/apache/maven/surefire/booter/LazyTestsToRun.java +++ b/surefire-booter/src/main/java/org/apache/maven/surefire/booter/LazyTestsToRun.java @@ -46,11 +46,11 @@ class LazyTestsToRun { private final List<Class> workQueue = new ArrayList<Class>(); - private BufferedReader inputReader; + private final BufferedReader inputReader; - private boolean streamClosed = false; + private final PrintStream originalOutStream; - private PrintStream originalOutStream; + private boolean streamClosed = false; /** * C'tor @@ -77,9 +77,7 @@ class LazyTestsToRun protected void requestNextTest() { - StringBuilder sb = new StringBuilder(); - sb.append( (char) ForkingRunListener.BOOTERCODE_NEXT_TEST ).append( ",0,want more!\n" ); - originalOutStream.print( sb.toString() ); + originalOutStream.print( ( (char) ForkingRunListener.BOOTERCODE_NEXT_TEST ) + ",0,want more!\n" ); } private class BlockingIterator @@ -106,24 +104,23 @@ class LazyTestsToRun try { nextClassName = inputReader.readLine(); + if ( nextClassName == null ) + { + streamClosed = true; + } + else + { + addWorkItem( nextClassName ); + } } catch ( IOException e ) { streamClosed = true; return false; } - - if ( null == nextClassName ) - { - streamClosed = true; - } - else - { - addWorkItem( nextClassName ); - } } - return ( workQueue.size() > nextPos ); + return workQueue.size() > nextPos; } } }