You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Fargier Stephane (JIRA)" <ji...@codehaus.org> on 2012/10/31 15:01:13 UTC
[jira] (SUREFIRE-918) Phase post-integration-test not executed when
tests are timed out with option 'forkedProcessTimeoutInSeconds'
Fargier Stephane created SUREFIRE-918:
-----------------------------------------
Summary: 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
[jira] (SUREFIRE-918) Phase post-integration-test not executed when
tests are timed out with option 'forkedProcessTimeoutInSeconds'
Posted by "Kristian Rosenvold (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/SUREFIRE-918?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=313950#comment-313950 ]
Kristian Rosenvold commented on SUREFIRE-918:
---------------------------------------------
SUREFIRE-920 probably fixes the part about "no failure"
> 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
[jira] (SUREFIRE-918) Phase post-integration-test not executed when
tests are timed out with option 'forkedProcessTimeoutInSeconds'
Posted by "Kristian Rosenvold (JIRA)" <ji...@codehaus.org>.
[ https://jira.codehaus.org/browse/SUREFIRE-918?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Rosenvold closed SUREFIRE-918.
---------------------------------------
Resolution: Fixed
Fix Version/s: 2.13
Assignee: Kristian Rosenvold
Fixed with the error handling cleanup in failsafe
> 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
> Assignee: Kristian Rosenvold
> Fix For: 2.13
>
> 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
[jira] (SUREFIRE-918) Phase post-integration-test not executed when
tests are timed out with option 'forkedProcessTimeoutInSeconds'
Posted by "Olivier Lamy (JIRA)" <ji...@codehaus.org>.
[ 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