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 Details

  • Method Details

    • setStopOnNextTestListener

      public void setStopOnNextTestListener(ForkedProcessEventListener listener)
    • setTimeoutDetectedListener

      public void setTimeoutDetectedListener(Runnable listener)
      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 a jstack dump).
      Parameters:
      listener - the callback to run, or null to 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 milliseconds
      forkedProcessTimeoutInSeconds - timeout in seconds given by MOJO
    • getDefaultReporterFactory

      public DefaultReporterFactory getDefaultReporterFactory()
    • handleEvent

      public void handleEvent(@Nonnull org.apache.maven.surefire.api.event.Event event)
      Specified by:
      handleEvent in interface org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>
    • hadTimeout

      public boolean hadTimeout()
    • getTestVmSystemProperties

      public Map<String,String> 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

      public Set<String> testsInProgress()
    • hasTestsInProgress

      public boolean hasTestsInProgress()