[ 
https://issues.apache.org/jira/browse/SUREFIRE-1745?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17021451#comment-17021451
 ] 

Tibor Digana commented on SUREFIRE-1745:
----------------------------------------

[~kishoretak]
I cannot make you happy because the behavior of 
{{parallelTestsTimeoutForcedInSeconds}} won't be the same with 
{{org.junit.rules.Timeout}}. The test cannot be marked as an error. If we could 
do it, it would already be released just like that. The reason is that we 
cannot say the JUnit to mark the test failed. All we can do is to interrupt the 
thread and then it is up to the JUnit library to handle 
{{InterruptedException}}.

If you have this paradighm, we can interrupt the main thread but not your code. 
You must understand the internal implementation of JUnit due to this paradighm 
will cause double call where the second call is executed in the separate JUnit 
Thread. And the problem is that we do not have access to this second thread:

{code:java}
@Test(timeout=1000)
{code}


> Global Junit Test timeout
> -------------------------
>
>                 Key: SUREFIRE-1745
>                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1745
>             Project: Maven Surefire
>          Issue Type: New Feature
>          Components: Maven Surefire Plugin
>    Affects Versions: 3.0.0-M4
>            Reporter: Kishore Kumar
>            Priority: Major
>
> Hi,
> We need unit test level time-out similar to this 
> [https://github.com/junit-team/junit4/wiki/Timeout-for-tests]  in surefire 
> where we can configure a timeout similar to 
> _parallelTestsTimeoutForcedInSeconds_. 
> Also, I've observed that _parallelTestsTimeoutForcedInSeconds_ is not able to 
> stop the infinite loop kind of test, and for other kinds of test even after 
> timeout error in the log, the test is marked as successful in the surefire 
> report.
>  
> Can we have something similar to Junit timeout in surefire where we can 
> configure global test timeout which will only stop that particular test which 
> takes more than configured time and mark it as timeout error in the report, 
> without impacting/stopping any other test's execution?
> {code:java}
> @Test
> public void infiniteLoop(){
>  while (true) {}
>  }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to