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/01/01 14:45:56 UTC

maven-surefire git commit: [SUREFIRE] refactoring

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 <ti...@lycos.com>
Authored: Thu Jan 1 14:43:48 2015 +0100
Committer: Tibor17 <ti...@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;
                 }
             }
         }