Parallel method execution skips Tests
-------------------------------------
Key: SUREFIRE-747
URL: http://jira.codehaus.org/browse/SUREFIRE-747
Project: Maven Surefire
Issue Type: Bug
Components: Junit 4.7+ (parallel) support
Affects Versions: 2.8.1, 2.8
Reporter: Gili
Here is a simple testcase.
POM file:
{code}
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.8.2-SNAPSHOT</version>
<configuration>
<includes>
<include>**/TestSuite.java</include>
</includes>
<parallel>methods</parallel>
</configuration>
</plugin>
</plugins>
{code}
TestSuite.java
{code}
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses(
{
ParallelTest.class,
ParallelTest2.class
})
public class TestSuite
{
}
{code}
ParallelTest.java
{code}
public class ParallelTest
{
public ParallelTest()
{
System.out.println("ParallelTest.constructor");
}
@Before
public void setUp()
{
System.out.println("ParallelTest.setUp");
}
@After
public void tearDown()
{
System.out.println("ParallelTest.tearDown");
}
@Test
public void first() throws InterruptedException
{
System.out.println("begin ParallelTest.first");
Thread.sleep(1000);
System.out.println("end ParallelTest.first");
}
@Test
public void second() throws InterruptedException
{
System.out.println("begin ParallelTest.second");
Thread.sleep(1000);
System.out.println("end ParallelTest.second");
}
@Test
public void third() throws InterruptedException
{
System.out.println("begin ParallelTest.third");
Thread.sleep(1000);
System.out.println("end ParallelTest.third");
}
}
{code}
ParallelTest2.java is identical except that log output contains ParallelTest2
instead of ParallelTest.
Actual Output:
{quote}
Concurrency config is parallel='methods', perCoreThreadCount=true,
threadCount=2, useUnlimitedThreads=false
Running com.holdmyspot.health.server.ParallelTest
ParallelTest.constructor
ParallelTest.setUp
begin ParallelTest.first
end ParallelTest.first
ParallelTest.tearDown
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.014 sec
Running com.holdmyspot.health.server.ParallelTest2
ParallelTest2.constructor
ParallelTest2.setUp
begin ParallelTest2.first
end ParallelTest2.first
ParallelTest2.tearDown
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.014 sec
Results :
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
{quote}
Problem: methods second() and third() are never run for either ParallelTest or
ParallelTest2.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira