public abstract class ParallelComputer
extends org.junit.runner.Computer
Computer
and has a shutdown functionality.ParallelComputerBuilder
Modifier and Type | Field and 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 and Description |
---|
ParallelComputer(double timeoutInSeconds,
double timeoutForcedInSeconds) |
Modifier and Type | Method and 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() |
private static final java.util.concurrent.ThreadFactory DAEMON_THREAD_FACTORY
private static final double NANOS_IN_A_SECOND
private final ShutdownStatus shutdownStatus
private final ShutdownStatus forcedShutdownStatus
private final long timeoutNanos
private final long timeoutForcedNanos
private java.util.concurrent.ScheduledExecutorService shutdownScheduler
public ParallelComputer(double timeoutInSeconds, double timeoutForcedInSeconds)
protected abstract ShutdownResult describeStopped(boolean shutdownNow)
protected abstract boolean shutdownThreadPoolsAwaitingKilled()
protected final void beforeRunQuietly()
protected final boolean afterRunQuietly()
public java.lang.String describeElapsedTimeout() throws TestSetFailedException
TestSetFailedException
private java.util.concurrent.Future<ShutdownResult> scheduleShutdown()
private java.util.concurrent.Future<ShutdownResult> scheduleForcedShutdown()
private java.util.concurrent.ScheduledExecutorService getShutdownScheduler()
private java.util.concurrent.Callable<ShutdownResult> createShutdownTask()
private java.util.concurrent.Callable<ShutdownResult> createForcedShutdownTask()
private double nanosToSeconds(long nanos)
private boolean hasTimeout()
private boolean hasTimeoutForced()
private static long secondsToNanos(double seconds)
private static long minTimeout(long timeout1, long timeout2)
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
java.util.concurrent.ExecutionException
java.lang.InterruptedException