maven-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Gudian (JIRA)" <j...@codehaus.org>
Subject [jira] (SUREFIRE-1138) Enabling reuseForks runs all tests in series on just one fork
Date Sat, 31 Jan 2015 20:00:18 GMT

    [ 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)

Mime
View raw message