[ http://jira.codehaus.org/browse/SUREFIRE-747?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=270578#comment-270578 ]
Kristian Rosenvold edited comment on SUREFIRE-747 at 6/16/11 8:48 AM: ---------------------------------------------------------------------- It's the combination of the TestSuite and "methods" parallel that does not work. "methods" without the TestSuite works fine (Change include pattern to {code}**/Parallel*.java{code} to verify this. was (Author: krosenvold): It's the combination of the TestSuite and "methods" parallel that does not work. "methods" without the TestSuite works fine (Change include pattern to **/Parallel*.java 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