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 <tibo...@lycos.com> Authored: Thu Oct 30 13:52:53 2014 +0100 Committer: tibordigana <tibo...@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