[ 
https://jira.codehaus.org/browse/SUREFIRE-1138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=362163#comment-362163
 ] 

Andreas Gudian commented on SUREFIRE-1138:
------------------------------------------

OK, I found out how the problem was introduced in 2.18. Fortunately, only the 
JUnit4 provider is affected.

You can easily work-around the issue by using the more modern provider 
implementation for JUnit 4.7+ by adding this to your pom:

{code}
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.18.1</version>
                <configuration>
                    <!-- ... -->
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.apache.maven.surefire</groupId>
                        <artifactId>surefire-junit47</artifactId>
                        <version>2.18.1</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
{code}

@[~tibor17], the issue was introduced in commit 
4df65165717126c88569e1fa62b0ea30559cbfa3, which eagerly iterates over 
TestsToRun in JUnit4Provider.createTestsDescription(). Can you remember why 
that might be necessary? Could you please take a look? If you see a quick way 
to fix it, feel free to grab the issue - otherwise let me know and I'll try it 
myself... :)

> Enabling reuseForks runs all tests in series on just one fork
> -------------------------------------------------------------
>
>                 Key: SUREFIRE-1138
>                 URL: https://jira.codehaus.org/browse/SUREFIRE-1138
>             Project: Maven Surefire
>          Issue Type: Bug
>          Components: Maven Surefire Plugin
>    Affects Versions: 2.18, 2.18.1
>         Environment: Apache Maven 3.0.4 (r1232337; 2012-01-17 19:44:56+1100)
> Java version: 1.7.0_17, vendor: Oracle Corporation
> Ubuntu 12.04 LTS
>            Reporter: Matthew Provis
>            Assignee: Andreas Gudian
>         Attachments: test.zip
>
>
> When using Surefire >= 2.18, I've encountered a problem when setting 
> {{forkCount > 1}} and {{reuseForks = true}}.
> Expected behaviour:
> Tests should run simultaneously, each on a separate fork.
> Actual behaviour:
> All tests run on just one fork, sequentially.
> Setting {{reuseForks = false}} gives the expected behaviour. 
> Reverting to Surefire 2.17 also gives the expected behaviour.
> I've attached a project that demonstrates the issue. Here I've created two 
> tests, each of which prints the fork number and sleeps for 5 seconds. The 
> total run time is 10 seconds with Surefire 2.18 and 2.18.1, but 5 seconds 
> with version 2.17.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to