[
https://issues.apache.org/jira/browse/SUREFIRE-1159?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14558535#comment-14558535
]
Sergey Mashkov commented on SUREFIRE-1159:
------------------------------------------
Yes, it is caused by custom runner so it is JMM visibility issue causes tests
list to be empty. And it need to be fixed on custom runner side, not at
surefire side. However I believe presence of tests list is not a flag to be
used to detect JUnit version so I guess something should be done at
TestSet.java:115 anyway.
To reproduce it see https://github.com/cy6erGn0m/kotlinx.css/tree/SUREFIRE-1159
(notice branch name)
If I use forkCount=N instead of parallel mode, or disable concurrent execution
at all then issue disappear.
> JUnit47 runner failing in parallel mode
> ---------------------------------------
>
> Key: SUREFIRE-1159
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1159
> Project: Maven Surefire
> Issue Type: Bug
> Components: Junit 4.7+ (parallel) support
> Affects Versions: 2.18.1
> Reporter: Sergey Mashkov
> Assignee: Tibor Digana
> Labels: parallel
>
> JUnit47 runner failing in parallel mode. Due to some reason at
> TestSet.java:115 it evaluates isJunit3 = true and trying to get first
> children of empty TestSetDescription
> {noformat}
> [ERROR] Failed to execute goal
> org.apache.maven.plugins:maven-surefire-plugin:2.18.1:test (default-test) on
> project kotlinx.css: ExecutionException: java.lang.RuntimeException: There
> was an error in the forked process
> [ERROR] org.apache.maven.surefire.testset.TestSetFailedException:
> java.lang.RuntimeException: java.lang.IndexOutOfBoundsException: Index: 0,
> Size: 0
> [ERROR] at
> org.apache.maven.surefire.common.junit4.JUnit4RunListener.rethrowAnyTestMechanismFailures(JUnit4RunListener.java:213)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:109)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeLazy(JUnitCoreWrapper.java:89)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:58)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:144)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:203)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:155)
> [ERROR] at
> org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103)
> [ERROR] Caused by: java.lang.RuntimeException:
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> [ERROR] at
> org.apache.maven.surefire.junitcore.TestSet.replay(TestSet.java:100)
> [ERROR] at
> org.apache.maven.surefire.junitcore.ConcurrentRunListener.testSetCompleted(ConcurrentRunListener.java:82)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreRunListener.testRunFinished(JUnitCoreRunListener.java:73)
> [ERROR] at
> org.junit.runner.notification.SynchronizedRunListener.testRunFinished(SynchronizedRunListener.java:42)
> [ERROR] at
> org.junit.runner.notification.RunNotifier$2.notifyListener(RunNotifier.java:103)
> [ERROR] at
> org.junit.runner.notification.RunNotifier$SafeNotifier.run(RunNotifier.java:72)
> [ERROR] at
> org.junit.runner.notification.RunNotifier.fireTestRunFinished(RunNotifier.java:100)
> [ERROR] at org.junit.runner.JUnitCore.run(JUnitCore.java:138)
> [ERROR] at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
> [ERROR] at
> org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:108)
> [ERROR] ... 6 more
> [ERROR] Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> [ERROR] at java.util.ArrayList.rangeCheck(ArrayList.java:653)
> [ERROR] at java.util.ArrayList.get(ArrayList.java:429)
> [ERROR] at
> org.apache.maven.surefire.junitcore.TestSet.createReportEntry(TestSet.java:115)
> [ERROR] at org.apache.maven.surefire.junitcore.TestSet.replay(TestSet.java:74)
> [ERROR] ... 15 more
> [ERROR] -> [Help 1]
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)