Add TimedOutTestsListener to print the full thread dump on test timeout #4749
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
See #3172
Modifications:
Copy TimedOutTestsListener from Apache Hadoop(https://github.com/apache/hadoop/blob/d1c6accb6f87b08975175580e15f1ff1fe29ab04/hadoop-common-project/hadoop-common/src/test/java/org/apache/hadoop/test/TimedOutTestsListener.java) into the "common" project and add
output.flush()
. If not callingflush
, the output may be printed to the console.In addition, also update the
pom.xml
s to set up the timeout listener.This is a workaround before junit adds such listener (junit-team/junit4#463).
Result:
If a test is set the timeout paramter using junit's
@Test(timeout = ...)
and the timeout is triggered, a full stack trace dump will be outputted and also output the deadlocks if any.