Class ConcurrentRunListener

java.lang.Object
org.apache.maven.surefire.junitcore.ConcurrentRunListener
All Implemented Interfaces:
ConsoleOutputReceiver, RunListener
Direct Known Subclasses:
ClassesParallelRunListener, MethodsParallelRunListener

public abstract class ConcurrentRunListener extends Object implements RunListener, ConsoleOutputReceiver
Handles responses from concurrent junit
Stuff to remember about JUnit threading: parallel=classes; beforeClass/afterClass, constructor and all tests method run on same thread parallel=methods; beforeClass/afterClass run on main thread, constructor + each test method run on same thread parallel=both; same as parallel=methods
See Also:
  • Field Details

    • classMethodCounts

      private final Map<String,TestSet> classMethodCounts
    • reporterManagerThreadLocal

      private final ThreadLocal<RunListener> reporterManagerThreadLocal
    • reportImmediately

      private final boolean reportImmediately
    • consoleStream

      private final ConsoleStream consoleStream
  • Constructor Details

  • Method Details

    • testSetStarting

      public void testSetStarting(TestSetReportEntry description)
      Description copied from interface: RunListener
      Indicates the start of a given test-set
      Specified by:
      testSetStarting in interface RunListener
      Parameters:
      description - the report entry describing the testset
    • testSetCompleted

      public void testSetCompleted(TestSetReportEntry result)
      Description copied from interface: RunListener
      Indicates end of a given test-set
      Specified by:
      testSetCompleted in interface RunListener
      Parameters:
      result - the report entry describing the testset
    • testFailed

      public void testFailed(ReportEntry failure)
      Description copied from interface: RunListener
      Event fired when a test ended with a failure (anticipated problem)
      Specified by:
      testFailed in interface RunListener
      Parameters:
      failure - The report entry to log for
    • testError

      public void testError(ReportEntry failure)
      Description copied from interface: RunListener
      Event fired when a test ended with an error (non anticipated problem)
      Specified by:
      testError in interface RunListener
      Parameters:
      failure - The report entry to log for
    • testSkipped

      public void testSkipped(ReportEntry description)
      Description copied from interface: RunListener
      Event fired when a test is skipped
      Specified by:
      testSkipped in interface RunListener
      Parameters:
      description - The report entry to log for
    • testExecutionSkippedByUser

      public void testExecutionSkippedByUser()
      Description copied from interface: RunListener
      Event fired skipping an execution of remaining test-set in other fork(s); or does nothing if no forks. The method is called by SurefireProvider.

      (The event is fired after the Nth test failed to signal skipping the rest of test-set.)

      Specified by:
      testExecutionSkippedByUser in interface RunListener
    • markAs

      public RunMode markAs(RunMode currentRunMode)
      Description copied from interface: RunListener
      Marks the listener with run mode, e.g. normal run or re-run.
      Specified by:
      markAs in interface RunListener
      Parameters:
      currentRunMode - set current run
      Returns:
      previous run mode; never returns null
    • testAssumptionFailure

      public void testAssumptionFailure(ReportEntry failure)
      Description copied from interface: RunListener
      Event fired when a test assumption failure was encountered. An assumption failure indicates that the test is not relevant
      Specified by:
      testAssumptionFailure in interface RunListener
      Parameters:
      failure - The report entry to log for
    • testStarting

      public void testStarting(ReportEntry description)
      Description copied from interface: RunListener
      Event fired when a test is about to start
      Specified by:
      testStarting in interface RunListener
      Parameters:
      description - The report entry to log for
    • testSucceeded

      public void testSucceeded(ReportEntry report)
      Description copied from interface: RunListener
      Event fired when a test ended successfully
      Specified by:
      testSucceeded in interface RunListener
      Parameters:
      report - The report entry to log for
    • getOrCreateThreadAttachedTestMethod

      private TestMethod getOrCreateThreadAttachedTestMethod(ReportEntry description)
    • checkIfTestSetCanBeReported

      protected abstract void checkIfTestSetCanBeReported(TestSet testSetForTest)
    • getTestSet

      private TestSet getTestSet(ReportEntry description)
    • getRunListener

      RunListener getRunListener()
    • createInstance

      public static ConcurrentRunListener createInstance(Map<String,TestSet> classMethodCounts, ReporterFactory reporterFactory, boolean parallelClasses, boolean parallelBoth, ConsoleStream consoleStream) throws TestSetFailedException
      Throws:
      TestSetFailedException
    • writeTestOutput

      public void writeTestOutput(String output, boolean newLine, boolean stdout)
      Description copied from interface: ConsoleOutputReceiver
      Forwards process output from the running test-case into the reporting system
      Specified by:
      writeTestOutput in interface ConsoleOutputReceiver
      Parameters:
      output - stdout/sterr output from running tests
      newLine - print on new line
      stdout - Indicates if this is stdout