[
http://jira.codehaus.org/browse/SUREFIRE-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=270578#comment-270578
]
Kristian Rosenvold commented on SUREFIRE-747:
---------------------------------------------
It's the combination of the TestSuite and "methods" parallel that does not
work. "methods" without the TestSuite works fine (Change pattern to
<include>**/Parallel*.java</include> to verify this).
> 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, 2.8.1
> Reporter: Gili
> Assignee: Kristian Rosenvold
>
> 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