[
https://jira.codehaus.org/browse/SUREFIRE-1055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=341205#comment-341205
]
Tibor Digana edited comment on SUREFIRE-1055 at 2/11/14 2:13 AM:
-----------------------------------------------------------------
@Chris
I have seen this issue as well.
Before the version 2.16 we have not proper parallelism. I implemented new
parallelism and tested.
Since the old parallelism was not properly enabled you could not see this issue.
Now you have feature with concurrent execution, and the issue you can see in
log should not be real because the test-methods are executed but their
invocation is not properly handled by the logs.
In order to prove these symptoms put a little code in every test method and
lunch mvn test again. This means print test-method name by an ordinal
System.out.println(...) in it. Make sure every name of the particular method is
unique in whole project. Then count them in your custom logs. Alternatively you
can initialize an atomic counter, e.g. AtomicInteger, in a singleton and print
post-increment value in every test-method. If you get deterministic number by
every test round, the methods are called as expected but not printed by the
plugin.
I guess you will have positive answer which means that it is known issue.
was (Author: tibor17):
@Chris
I have seen this issue as well.
Before the version 2.16 we have not proper parallelism. I implemented new
parallelism and tested.
Since the old parallelism was not properly enabled you could not see this issue.
Now you have feature with concurrent execution, and the issue you can see in
log should not be real because the test-methods are executed but their
invocation is not properly handled by the logs.
In order to prove these symptoms put a little code in every test method and
lunch mvn test again. This means print test-method name by an ordinal
System.out.println(...) in it. Make sure every name of the particular method is
unique in whole project. Then count them in your custom logs. Alternatively you
can initialize an atomic counter, e.g. AtomicInteger, in a singleton and print
post-increment value in every test-method. If you get deterministic number by
every test round, the methods are called as expected but not printed by the
plugin.
I guess you will have positive answer which means that the issue still exists.
> Parallel JUnit does not run all test methods with parallel=classesAndMethods
> perCoreThreadCount=false useUnlimitedThreads=true and threadCountMethods
> specified
> ---------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: SUREFIRE-1055
> URL: https://jira.codehaus.org/browse/SUREFIRE-1055
> Project: Maven Surefire
> Issue Type: Bug
> Components: Junit 4.7+ (parallel) support, Maven Failsafe Plugin,
> Maven Surefire Plugin
> Affects Versions: 2.16
> Reporter: Chris Hansen
> Attachments: surefire-output.txt
>
>
> Some test methods are skipped at random with the below configuration. When
> test methods are skipped in this way, only one method in the class runs.
> Running tests repeatedly with no code change often yields a different number
> of tests with each run (e.g. see the attached surefire-output.txt). Tests
> that take longer to run are less likely to be affected. This affects version
> 2.16 of Surefire and Failsafe equally.
> Here is a simple test project which reproduces the issue:
> https://github.com/hansenc/SUREFIRE-1055
> It has a few simple test classes with a naming convention for how many test
> methods are in each class (e.g. Methods4Test has 4 test methods).
> {code:xml}
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-surefire-plugin</artifactId>
> <version>2.16</version>
> <configuration>
> <parallel>classesAndMethods</parallel>
> <perCoreThreadCount>false</perCoreThreadCount>
> <useUnlimitedThreads>true</useUnlimitedThreads>
> <threadCountMethods>3</threadCountMethods>
> </configuration>
> </plugin>
> {code}
--
This message was sent by Atlassian JIRA
(v6.1.6#6162)