You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jean-Luc Derrien (JIRA)" <ji...@apache.org> on 2016/07/27 13:41:20 UTC

[jira] [Created] (SUREFIRE-1264) Some tests can be lost when running in parallel

Jean-Luc Derrien created SUREFIRE-1264:
------------------------------------------

             Summary: Some tests can be lost when running in parallel
                 Key: SUREFIRE-1264
                 URL: https://issues.apache.org/jira/browse/SUREFIRE-1264
             Project: Maven Surefire
          Issue Type: Bug
          Components: Junit 4.7+ (parallel) support
    Affects Versions: 2.19.1
         Environment: Maven 3.3.9
Java 1.8.0_45 (Oracle)
System: OS X

Reproduced on Linux too, with both OpenJDK 7 and Java 7 from Oracle.
            Reporter: Jean-Luc Derrien


Hello,

It appears some tests can be lost when using the parallel mode. Here is a [small project|https://github.com/jderrien/surefire-junit-tests/tree/simple-1] I've used to try to reproduce the issue we have seen.

This is not something that happens on every run, but it's quite frequent.

With this loop, the problem should appear in less than 2 minutes, maybe on the first run when (un)lucky:
{code}
time while true; do mvn clean test > last.log ; tail -25 last.log ; if [ "$(grep -c 'Tests run: 12' last.log)" == "0" ]; then break; fi ; done
{code}

Normal run:
{noformat}
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running [p2]
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p2] - p2 - sleeptime = 1 => start
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p2] - p2 - sleeptime = 1 => stop
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p1] - p1 - sleeptime = 2 => start
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p1] - p1 - sleeptime = 2 => stop
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p0] - p0 - sleeptime = 5 => start
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p0] - p0 - sleeptime = 5 => stop
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 5.006 sec - in [p2]
Running [p2]
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.011 sec - in [p2]

Results :

Tests run: 12, Failures: 0, Errors: 0, Skipped: 0
{noformat}

When tests have been lost (here one test lost according to the output):
{noformat}
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running [p2]
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p0] - p0 - sleeptime = 5 => start
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p2] - p2 - sleeptime = 1 => start
com.appnexus.viewability.core.surefireJunitTests.ATest.methodA1[p1] - p1 - sleeptime = 2 => start
Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.007 sec - in [p2]
Running [p2]
Tests run: 6, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.012 sec - in [p2]

Results :

Tests run: 11, Failures: 0, Errors: 0, Skipped: 0
{noformat}

Note: there are 3 test classes and 18 tests on the [master branch|https://github.com/jderrien/surefire-junit-tests/tree/master] and it's even more frequent/easy to reproduce.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)