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