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 2014/10/30 14:05:49 UTC

git commit: Avoided unwanted line in logs: [ERROR] null

Repository: maven-surefire
Updated Branches:
  refs/heads/master df06e2f06 -> b3a6777ea


Avoided unwanted line in logs: [ERROR] null


Project: http://git-wip-us.apache.org/repos/asf/maven-surefire/repo
Commit: http://git-wip-us.apache.org/repos/asf/maven-surefire/commit/b3a6777e
Tree: http://git-wip-us.apache.org/repos/asf/maven-surefire/tree/b3a6777e
Diff: http://git-wip-us.apache.org/repos/asf/maven-surefire/diff/b3a6777e

Branch: refs/heads/master
Commit: b3a6777ea505d2e1ad5c4f8011070509e825a98c
Parents: df06e2f
Author: tibordigana <ti...@lycos.com>
Authored: Thu Oct 30 13:52:53 2014 +0100
Committer: tibordigana <ti...@lycos.com>
Committed: Thu Oct 30 13:52:53 2014 +0100

----------------------------------------------------------------------
 .../junitcore/pc/ParallelComputerUtil.java      | 40 ++++++++++++++++++++
 .../maven/surefire/junitcore/pc/Scheduler.java  |  6 +--
 .../junitcore/pc/SingleThreadScheduler.java     |  6 +--
 3 files changed, 42 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/b3a6777e/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtil.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtil.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtil.java
index 028b7ba..d9e3467 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtil.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/ParallelComputerUtil.java
@@ -21,6 +21,11 @@ package org.apache.maven.surefire.junitcore.pc;
 
 import org.apache.maven.surefire.junitcore.JUnitCoreParameters;
 import org.apache.maven.surefire.testset.TestSetFailedException;
+import org.junit.runner.Description;
+
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
 
 /**
  * An algorithm which configures {@link ParallelComputer} with allocated thread resources by given
@@ -33,6 +38,10 @@ import org.apache.maven.surefire.testset.TestSetFailedException;
  */
 final class ParallelComputerUtil
 {
+    private static final Collection<Description> UNUSED_DESCRIPTIONS =
+            Arrays.asList( null, Description.createSuiteDescription( "null" ), Description.TEST_MECHANISM,
+                    Description.EMPTY );
+
     private static int availableProcessors = Runtime.getRuntime().availableProcessors();
 
     private ParallelComputerUtil()
@@ -98,6 +107,37 @@ final class ParallelComputerUtil
         }
     }
 
+    static boolean isUnusedDescription( Description examined )
+    {
+        if ( UNUSED_DESCRIPTIONS.contains( examined ) )
+        {
+            return true;
+        }
+        else
+        {
+            // UNUSED_DESCRIPTIONS ensures that "examined" cannot be null
+            for ( Description unused : UNUSED_DESCRIPTIONS )
+            {
+                if ( unused != null && unused.getDisplayName().equals( examined.getDisplayName() ) )
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+    }
+
+    static void removeUnusedDescriptions( Collection<Description> examined )
+    {
+        for ( Iterator<Description> it = examined.iterator(); it.hasNext(); )
+        {
+            if ( isUnusedDescription( it.next() ) )
+            {
+                it.remove();
+            }
+        }
+    }
+
     private static Concurrency concurrencyForUnlimitedThreads( JUnitCoreParameters params )
     {
         Concurrency concurrency = new Concurrency();

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/b3a6777e/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
index 79f6bd9..7f74460 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/Scheduler.java
@@ -22,7 +22,6 @@ package org.apache.maven.surefire.junitcore.pc;
 import org.junit.runner.Description;
 import org.junit.runners.model.RunnerScheduler;
 
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.Set;
 import java.util.concurrent.ConcurrentLinkedQueue;
@@ -46,9 +45,6 @@ import java.util.concurrent.ThreadPoolExecutor;
 public class Scheduler
     implements RunnerScheduler
 {
-    private static final Collection<Description> UNUSED_DESCRIPTIONS =
-        Arrays.asList( null, Description.TEST_MECHANISM, Description.EMPTY );
-
     private final Balancer balancer;
 
     private final SchedulingStrategy strategy;
@@ -244,7 +240,7 @@ public class Scheduler
         shutdown = true;
         try
         {
-            if ( started && !UNUSED_DESCRIPTIONS.contains( description ) )
+            if ( started && !ParallelComputerUtil.isUnusedDescription( description ) )
             {
                 if ( executedTests != null )
                 {

http://git-wip-us.apache.org/repos/asf/maven-surefire/blob/b3a6777e/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
----------------------------------------------------------------------
diff --git a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
index 87c1114..639e597 100644
--- a/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
+++ b/surefire-providers/surefire-junit47/src/main/java/org/apache/maven/surefire/junitcore/pc/SingleThreadScheduler.java
@@ -22,7 +22,6 @@ package org.apache.maven.surefire.junitcore.pc;
 import org.junit.runner.Description;
 import org.junit.runners.model.RunnerScheduler;
 
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.concurrent.ConcurrentLinkedQueue;
 import java.util.concurrent.ExecutorService;
@@ -41,9 +40,6 @@ import java.util.concurrent.TimeUnit;
  */
 final class SingleThreadScheduler
 {
-    private static final Collection<Description> UNUSED_DESCRIPTIONS =
-        Arrays.asList( null, Description.TEST_MECHANISM, Description.EMPTY );
-
     private final ExecutorService pool = newPool();
 
     private final Scheduler master = new Scheduler( null, SchedulingStrategies.createParallelSharedStrategy( pool ) );
@@ -86,7 +82,7 @@ final class SingleThreadScheduler
     private Collection<Description> copyExisting( Collection<Description> descriptions )
     {
         Collection<Description> activeChildren = new ConcurrentLinkedQueue<Description>( descriptions );
-        activeChildren.removeAll( UNUSED_DESCRIPTIONS );
+        ParallelComputerUtil.removeUnusedDescriptions( activeChildren );
         return activeChildren;
     }
 }
\ No newline at end of file