Re: Take threaddump on hung surefire tests

2019-12-10 Thread Tibor Digana
This thread dump already exists in the version 3.0.0-M4. https://github.com/apache/maven-surefire/blob/master/surefire-booter/src/main/java/org/apache/maven/surefire/booter/ForkedBooter.java#L283 See the dump file for the particular JVM in /target/surefire-reports On Mon, Dec 9, 2019 at 6:29 PM

Re: Take threaddump on hung surefire tests

2019-12-09 Thread Debraj Manna
Thanks again Tibor. One more question is it possible to get a thread dump before failing the build when forkedProcessTimeoutInSeconds is reached? On Mon, Dec 9, 2019 at 4:38 PM Tibor Digana

Re: Take threaddump on hung surefire tests

2019-12-09 Thread Tibor Digana
fixed typo:If your Jenkins sends SIGKILL to the Maven process then enable the process checker, see more details in the documentaion: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#enableProcessChecker

Re: Take threaddump on hung surefire tests

2019-12-09 Thread Tibor Digana
Hi Debraj, >> to fail the build immediately when timeout is reached This feature exists for years: http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#forkedProcessTimeoutInSeconds

Re: Take threaddump on hung surefire tests

2019-12-08 Thread Debraj Manna
No Tibor. I am not getting much time to spend on this. For new classes i have been using Timeout rule for now. One more question in a multi-module project is it possible to fail the build immediately when timeout is reached and in other failure cases fail in the end. I am using Jenkins so here

Re: Take threaddump on hung surefire tests

2019-11-21 Thread Tibor Digana
Hi Debraj, It's over one month when you wrote this email. How did you solve this issue, did you find the real root cause? Let us know how you are doing, thx! btw, we released the new version 3.0.0-M4 in Nov/17. Cheers Tibor17 On Thu, Oct 3, 2019 at 2:49 PM Debraj Manna wrote: > Sometimes I

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Debraj Manna
Thanks Tibor. It is clear now. On Sat 5 Oct, 2019, 9:36 PM Tibor Digana, wrote: > pleaseStop() can be called only inside Surefire. > So your solution has to be embedded in Surefire and the feature has to > configured. > Unfortunately it's by design of JUnit. > RunNotifier cannot be exposed

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Tibor Digana
pleaseStop() can be called only inside Surefire. So your solution has to be embedded in Surefire and the feature has to configured. Unfortunately it's by design of JUnit. RunNotifier cannot be exposed because it must be only one instance and we need to instantiate it and have it under the control

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Debraj Manna
Enrico apache-bookeeper seems to be using timeout in @Test as I can see from their github repo here . Tibor how can I pass an instance of RunNotifier to a class extending from RunListener so that I can

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Tibor Digana
Some users may have a requirement to stop the exertion when a test hangs. Other users woul maybe prefer to interrupt the test and continue with next test. This would lead to configuration with more than one config value => POJO in new config parameter. On Sat, Oct 5, 2019 at 2:17 PM Debraj Manna

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Tibor Digana
Notice that Surefire instantiates new JUnitCore() and then runs the test class(es). The method pleaseStop() stops this execution so that no new test method would be followed. On Sat, Oct 5, 2019 at 2:17 PM Debraj Manna wrote: > Thanks again Enrico. I will try to find out from apache-bookmark

Re: Take threaddump on hung surefire tests

2019-10-05 Thread Debraj Manna
Thanks again Enrico. I will try to find out from apache-bookmark code or check in apache-bookkeper mailing list. Yes Tibor I am looking for a global timeout without explicitly adding the timeout annotation in all of my tests / classes. I am not using forkCount > 1. I get your testStarted part but

Re: Take threaddump on hung surefire tests

2019-10-04 Thread Tibor Digana
Hi Debraj, It depends on your requirements. As I initially understood your email, every test method wants to have implicit timeout value even without the annotation @Timeout. Then the testStarted is important event even your code will see when the test method has started and timeout can be

Re: Take threaddump on hung surefire tests

2019-10-04 Thread Enrico Olivelli
Il ven 4 ott 2019, 16:30 Debraj Manna ha scritto: > Enrico > > If I get the approach correctly then all my junit4 tests should have > timeout specified (either via @Test or via @Rule) then only I can use the > listener. But the problem is we are having more than 2000 tests and > specifying a

Re: Take threaddump on hung surefire tests

2019-10-04 Thread Debraj Manna
Enrico If I get the approach correctly then all my junit4 tests should have timeout specified (either via @Test or via @Rule) then only I can use the listener. But the problem is we are having more than 2000 tests and specifying a timeout in each of the tests/classes is cumbersome. Correct me if

Re: Take threaddump on hung surefire tests

2019-10-04 Thread Debraj Manna
Yeah sure ... thanks. On Thu, Oct 3, 2019 at 7:50 PM Tibor Digana wrote: > Hi Debraj, > > There is nice technical idea from Enrico. > If you apply it and you are convinced that it would work properly for all > the Java community, feel free to show it and we can discuss it on how we > would

Re: Take threaddump on hung surefire tests

2019-10-03 Thread Tibor Digana
Hi Debraj, There is nice technical idea from Enrico. If you apply it and you are convinced that it would work properly for all the Java community, feel free to show it and we can discuss it on how we would adopt your solution in Surefire project. Cheers Tibor17 On Thu, Oct 3, 2019 at 2:49 PM

Re: Take threaddump on hung surefire tests

2019-10-03 Thread Enrico Olivelli
Hi, you can create a simple Listener like this one: https://github.com/apache/bookkeeper/blob/master/bookkeeper-common/src/test/java/org/apache/bookkeeper/common/testing/util/TimedOutTestsListener.java check on the pom.xml file about how to enable it: