Class ForkClient

  • All Implemented Interfaces:
    org.apache.maven.surefire.extensions.EventHandler<org.apache.maven.surefire.api.event.Event>

    public final class ForkClient
    extends java.lang.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
    • Method Detail

      • setTimeoutDetectedListener

        public void setTimeoutDetectedListener​(java.lang.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
      • 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 java.util.Map<java.lang.String,​java.lang.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 java.util.Set<java.lang.String> testsInProgress()
      • hasTestsInProgress

        public boolean hasTestsInProgress()