Class SynchronizedRunListener
- java.lang.Object
-
- org.junit.runner.notification.RunListener
-
- org.junit.runner.notification.SynchronizedRunListener
-
@ThreadSafe final class SynchronizedRunListener extends RunListener
Thread-safe decorator forRunListener
implementations that synchronizes calls to the delegate.This class synchronizes all listener calls on a RunNotifier instance. This is done because prior to JUnit 4.12, all listeners were called in a synchronized block in RunNotifier, so no two listeners were ever called concurrently. If we instead made the methods here sychronized, clients that added multiple listeners that called common code might see issues due to the reduced synchronization.
- Since:
- 4.12
- See Also:
RunNotifier
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.junit.runner.notification.RunListener
RunListener.ThreadSafe
-
-
Field Summary
Fields Modifier and Type Field Description private RunListener
listener
private java.lang.Object
monitor
-
Constructor Summary
Constructors Constructor Description SynchronizedRunListener(RunListener listener, java.lang.Object monitor)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object other)
int
hashCode()
void
testAssumptionFailure(Failure failure)
Called when an atomic test flags that it assumes a condition that is falsevoid
testFailure(Failure failure)
Called when an atomic test fails, or when a listener throws an exception.void
testFinished(Description description)
Called when an atomic test has finished, whether the test succeeds or fails.void
testIgnored(Description description)
Called when a test will not be run, generally because a test method is annotated withIgnore
.void
testRunFinished(Result result)
Called when all tests have finished.void
testRunStarted(Description description)
Called before any tests have been run.void
testStarted(Description description)
Called when an atomic test is about to be started.java.lang.String
toString()
-
-
-
Field Detail
-
listener
private final RunListener listener
-
monitor
private final java.lang.Object monitor
-
-
Constructor Detail
-
SynchronizedRunListener
SynchronizedRunListener(RunListener listener, java.lang.Object monitor)
-
-
Method Detail
-
testRunStarted
public void testRunStarted(Description description) throws java.lang.Exception
Description copied from class:RunListener
Called before any tests have been run. This may be called on an arbitrary thread.- Overrides:
testRunStarted
in classRunListener
- Parameters:
description
- describes the tests to be run- Throws:
java.lang.Exception
-
testRunFinished
public void testRunFinished(Result result) throws java.lang.Exception
Description copied from class:RunListener
Called when all tests have finished. This may be called on an arbitrary thread.- Overrides:
testRunFinished
in classRunListener
- Parameters:
result
- the summary of the test run, including all the tests that failed- Throws:
java.lang.Exception
-
testStarted
public void testStarted(Description description) throws java.lang.Exception
Description copied from class:RunListener
Called when an atomic test is about to be started.- Overrides:
testStarted
in classRunListener
- Parameters:
description
- the description of the test that is about to be run (generally a class and method name)- Throws:
java.lang.Exception
-
testFinished
public void testFinished(Description description) throws java.lang.Exception
Description copied from class:RunListener
Called when an atomic test has finished, whether the test succeeds or fails.- Overrides:
testFinished
in classRunListener
- Parameters:
description
- the description of the test that just ran- Throws:
java.lang.Exception
-
testFailure
public void testFailure(Failure failure) throws java.lang.Exception
Description copied from class:RunListener
Called when an atomic test fails, or when a listener throws an exception.In the case of a failure of an atomic test, this method will be called with the same
Description
passed toRunListener.testStarted(Description)
, from the same thread that calledRunListener.testStarted(Description)
.In the case of a listener throwing an exception, this will be called with a
Description
ofDescription.TEST_MECHANISM
, and may be called on an arbitrary thread.- Overrides:
testFailure
in classRunListener
- Parameters:
failure
- describes the test that failed and the exception that was thrown- Throws:
java.lang.Exception
-
testAssumptionFailure
public void testAssumptionFailure(Failure failure)
Description copied from class:RunListener
Called when an atomic test flags that it assumes a condition that is false- Overrides:
testAssumptionFailure
in classRunListener
- Parameters:
failure
- describes the test that failed and theAssumptionViolatedException
that was thrown
-
testIgnored
public void testIgnored(Description description) throws java.lang.Exception
Description copied from class:RunListener
Called when a test will not be run, generally because a test method is annotated withIgnore
.- Overrides:
testIgnored
in classRunListener
- Parameters:
description
- describes the test that will not be run- Throws:
java.lang.Exception
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equals
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-