Class ForkClient
java.lang.Object
org.apache.maven.plugin.surefire.booterclient.output.ForkClient
- All Implemented Interfaces:
org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
public final class ForkClient
extends Object
implements org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
Knows how to reconstruct *all* the state transmitted over stdout by the forked process.
- Author:
- Kristian Rosenvold
-
Constructor Summary
ConstructorsConstructorDescriptionForkClient(DefaultReporterFactory defaultReporterFactory, NotifiableTestStream notifiableTestStream, int forkNumber) -
Method Summary
Modifier and TypeMethodDescriptionvoidclose(boolean hadTimeout) org.apache.maven.surefire.api.report.TestOutputReceiver<org.apache.maven.surefire.api.report.TestOutputReportEntry> org.apache.maven.surefire.api.report.StackTraceWriterorg.apache.maven.surefire.api.report.RunListenerUsed when getting reporters on the plugin side of a fork.booleanvoidhandleEvent(org.apache.maven.surefire.api.event.Event event) booleanbooleanbooleanvoidkill()voidvoidsetTimeoutDetectedListener(Runnable listener) Registers a one-shot callback invoked synchronously when the forked process timeout has been reached, immediately before the KILL command is sent.voidtryToTimeout(long currentTimeMillis, int forkedProcessTimeoutInSeconds) Called in concurrent Thread.
-
Constructor Details
-
ForkClient
public ForkClient(DefaultReporterFactory defaultReporterFactory, NotifiableTestStream notifiableTestStream, int forkNumber)
-
-
Method Details
-
setStopOnNextTestListener
-
setTimeoutDetectedListener
Registers a one-shot callback invoked synchronously when the forked process timeout has been reached, immediately before the KILL command is sent. The forked JVM is still alive when the callback runs, so it may collect live diagnostics (for example ajstackdump).- Parameters:
listener- the callback to run, ornullto clear; callback must not throw checked exceptions
-
kill
public void kill() -
tryToTimeout
public void tryToTimeout(long currentTimeMillis, int forkedProcessTimeoutInSeconds) Called in concurrent Thread. Will shutdown if timeout was reached.- Parameters:
currentTimeMillis- current time in millisecondsforkedProcessTimeoutInSeconds- timeout in seconds given by MOJO
-
getDefaultReporterFactory
-
handleEvent
- Specified by:
handleEventin interfaceorg.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
-
hadTimeout
public boolean hadTimeout() -
getTestVmSystemProperties
-
getReporter
public org.apache.maven.surefire.api.report.RunListener getReporter()Used when getting reporters on the plugin side of a fork. Used by testing purposes only. May not be volatile variable.- Returns:
- a mock provider reporter
-
getConsoleOutputReceiver
public org.apache.maven.surefire.api.report.TestOutputReceiver<org.apache.maven.surefire.api.report.TestOutputReportEntry> getConsoleOutputReceiver() -
close
public void close(boolean hadTimeout) -
isSaidGoodBye
public boolean isSaidGoodBye() -
getErrorInFork
public org.apache.maven.surefire.api.report.StackTraceWriter getErrorInFork() -
isErrorInFork
public boolean isErrorInFork() -
testsInProgress
-
hasTestsInProgress
public boolean hasTestsInProgress()
-