You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Olivier Lamy (JIRA)" <ji...@codehaus.org> on 2012/11/19 23:47:13 UTC

[jira] (SUREFIRE-918) Phase post-integration-test not executed when tests are timed out with option 'forkedProcessTimeoutInSeconds'

    [ https://jira.codehaus.org/browse/SUREFIRE-918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=313940#comment-313940 ] 

Olivier Lamy commented on SUREFIRE-918:
---------------------------------------

interesting case. As there is no failure and the forked vm is still running (at least on my machine)
                
> Phase post-integration-test not executed when tests are timed out with option 'forkedProcessTimeoutInSeconds'
> -------------------------------------------------------------------------------------------------------------
>
>                 Key: SUREFIRE-918
>                 URL: https://jira.codehaus.org/browse/SUREFIRE-918
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Failsafe Plugin
>    Affects Versions: 2.12.4
>         Environment: Windows 7 64 bits
> Ubuntu 11.10 64 bits
>            Reporter: Fargier Stephane
>         Attachments: failsafe-timeout.zip
>
>
> In a project we use the failsafe plugin for our ITs.
> The option 'forkedProcessTimeoutInSeconds' is used to have a time limit for the test execution.
> {code}
> <configuration>
> 	<forkedProcessTimeoutInSeconds>3</forkedProcessTimeoutInSeconds>
> </configuration>
> {code}
> We also have goals registered in the post-integration-phase for environment clean-up.
> When the tests are in timeout, the maven execution is stopped and the post-integration-test phase is not executed, leaving our environment dirty. The post-integration-test phase should be executed after timeout the same way it is executed after failed tests.
> Attached is a simple project illustrating the issue:
> * a JUnit test that runs forever
> * a goal is registered in the post-integration phase
> * the timeout is set on the project
> If you run it, you will see the post-integration-phase is not executed:
> {code}
> [INFO] --- maven-failsafe-plugin:2.12.4:integration-test (integration-test) @ failsave.timeout.example ---
> [INFO] Failsafe report directory: /home/sfargier/Téléchargements/failsafe-timeout/target/failsafe-reports
> -------------------------------------------------------
>  T E S T S
> -------------------------------------------------------
> Running TestRunsForeverITCase
> Results :
> Tests run: 0, Failures: 0, Errors: 0, Skipped: 0
> [INFO] ------------------------------------------------------------------------
> [INFO] BUILD FAILURE
> [INFO] ------------------------------------------------------------------------
> [INFO] Total time: 4.468s
> [INFO] Finished at: Wed Oct 31 14:20:58 CET 2012
> [INFO] Final Memory: 9M/490M
> [INFO] ------------------------------------------------------------------------
> {code}
> As a side-note, if we set the forkMode option to 'always', then the post-integration-test is executed even if the timeout expires. But there are some Java processes for the tests (the one running surefire-booter-*.jar) that are not killed. There seems to be an already opened issue for that (http://jira.codehaus.org/browse/SUREFIRE-773).

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira