Class ParallelComputer
- java.lang.Object
-
- org.junit.runner.Computer
-
- org.apache.maven.surefire.junitcore.pc.ParallelComputer
-
- Direct Known Subclasses:
ParallelComputerBuilder.PC
public abstract class ParallelComputer extends org.junit.runner.Computer
ParallelComputer extends JUnitComputer
and has a shutdown functionality.- Since:
- 2.16
- See Also:
ParallelComputerBuilder
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ThreadFactory
DAEMON_THREAD_FACTORY
private ShutdownStatus
forcedShutdownStatus
private static double
NANOS_IN_A_SECOND
private java.util.concurrent.ScheduledExecutorService
shutdownScheduler
private ShutdownStatus
shutdownStatus
private long
timeoutForcedNanos
private long
timeoutNanos
-
Constructor Summary
Constructors Constructor Description ParallelComputer(double timeoutInSeconds, double timeoutForcedInSeconds)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected boolean
afterRunQuietly()
protected void
beforeRunQuietly()
private java.util.concurrent.Callable<ShutdownResult>
createForcedShutdownTask()
private java.util.concurrent.Callable<ShutdownResult>
createShutdownTask()
java.lang.String
describeElapsedTimeout()
protected abstract ShutdownResult
describeStopped(boolean shutdownNow)
private java.util.concurrent.ScheduledExecutorService
getShutdownScheduler()
private boolean
hasTimeout()
private boolean
hasTimeoutForced()
private static long
minTimeout(long timeout1, long timeout2)
private double
nanosToSeconds(long nanos)
private static void
printShutdownHook(java.util.Collection<java.lang.String> executedTests, java.util.Collection<java.lang.String> incompleteTests, java.util.concurrent.Future<ShutdownResult> testsBeforeShutdown)
private java.util.concurrent.Future<ShutdownResult>
scheduleForcedShutdown()
private java.util.concurrent.Future<ShutdownResult>
scheduleShutdown()
private static long
secondsToNanos(double seconds)
protected abstract boolean
shutdownThreadPoolsAwaitingKilled()
-
-
-
Field Detail
-
DAEMON_THREAD_FACTORY
private static final java.util.concurrent.ThreadFactory DAEMON_THREAD_FACTORY
-
NANOS_IN_A_SECOND
private static final double NANOS_IN_A_SECOND
- See Also:
- Constant Field Values
-
shutdownStatus
private final ShutdownStatus shutdownStatus
-
forcedShutdownStatus
private final ShutdownStatus forcedShutdownStatus
-
timeoutNanos
private final long timeoutNanos
-
timeoutForcedNanos
private final long timeoutForcedNanos
-
shutdownScheduler
private java.util.concurrent.ScheduledExecutorService shutdownScheduler
-
-
Method Detail
-
describeStopped
protected abstract ShutdownResult describeStopped(boolean shutdownNow)
-
shutdownThreadPoolsAwaitingKilled
protected abstract boolean shutdownThreadPoolsAwaitingKilled()
-
beforeRunQuietly
protected final void beforeRunQuietly()
-
afterRunQuietly
protected final boolean afterRunQuietly()
-
describeElapsedTimeout
public java.lang.String describeElapsedTimeout() throws TestSetFailedException
- Throws:
TestSetFailedException
-
scheduleShutdown
private java.util.concurrent.Future<ShutdownResult> scheduleShutdown()
-
scheduleForcedShutdown
private java.util.concurrent.Future<ShutdownResult> scheduleForcedShutdown()
-
getShutdownScheduler
private java.util.concurrent.ScheduledExecutorService getShutdownScheduler()
-
createShutdownTask
private java.util.concurrent.Callable<ShutdownResult> createShutdownTask()
-
createForcedShutdownTask
private java.util.concurrent.Callable<ShutdownResult> createForcedShutdownTask()
-
nanosToSeconds
private double nanosToSeconds(long nanos)
-
hasTimeout
private boolean hasTimeout()
-
hasTimeoutForced
private boolean hasTimeoutForced()
-
secondsToNanos
private static long secondsToNanos(double seconds)
-
minTimeout
private static long minTimeout(long timeout1, long timeout2)
-
printShutdownHook
private static void printShutdownHook(java.util.Collection<java.lang.String> executedTests, java.util.Collection<java.lang.String> incompleteTests, java.util.concurrent.Future<ShutdownResult> testsBeforeShutdown) throws java.util.concurrent.ExecutionException, java.lang.InterruptedException
- Throws:
java.util.concurrent.ExecutionException
java.lang.InterruptedException
-
-