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.ComputerParallelComputer extends JUnitComputerand has a shutdown functionality.- Since:
- 2.16
- See Also:
ParallelComputerBuilder
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.concurrent.ThreadFactoryDAEMON_THREAD_FACTORYprivate ShutdownStatusforcedShutdownStatusprivate static doubleNANOS_IN_A_SECONDprivate java.util.concurrent.ScheduledExecutorServiceshutdownSchedulerprivate ShutdownStatusshutdownStatusprivate longtimeoutForcedNanosprivate longtimeoutNanos
-
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 booleanafterRunQuietly()protected voidbeforeRunQuietly()private java.util.concurrent.Callable<ShutdownResult>createForcedShutdownTask()private java.util.concurrent.Callable<ShutdownResult>createShutdownTask()java.lang.StringdescribeElapsedTimeout()protected abstract ShutdownResultdescribeStopped(boolean shutdownNow)private java.util.concurrent.ScheduledExecutorServicegetShutdownScheduler()private booleanhasTimeout()private booleanhasTimeoutForced()private static longminTimeout(long timeout1, long timeout2)private doublenanosToSeconds(long nanos)private static voidprintShutdownHook(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 longsecondsToNanos(double seconds)protected abstract booleanshutdownThreadPoolsAwaitingKilled()
-
-
-
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.ExecutionExceptionjava.lang.InterruptedException
-
-