You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jan Mosig (Jira)" <ji...@apache.org> on 2021/06/13 18:30:00 UTC
[jira] [Commented] (SUREFIRE-1919) JUnit test discovery fails with
reuseForks=false but works when reuseForks=true
[ https://issues.apache.org/jira/browse/SUREFIRE-1919?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17362583#comment-17362583 ]
Jan Mosig commented on SUREFIRE-1919:
-------------------------------------
Nevermind ^^ I found the problem: When specifying {{<reuseForks>false</reuseForks>}}, the tests run directly in the mvn JVM. This means, the argLine cannot be passed to some JVM, because it is already running.
The solution is to use {{MAVEN_OPTS="--add-modules .. mvn clean verify"}}.
> JUnit test discovery fails with reuseForks=false but works when reuseForks=true
> -------------------------------------------------------------------------------
>
> Key: SUREFIRE-1919
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1919
> Project: Maven Surefire
> Issue Type: Bug
> Components: Maven Surefire Plugin
> Affects Versions: 3.0.0-M5
> Environment: * java version "16.0.1" 2021-04-20
> * Java(TM) SE Runtime Environment (build 16.0.1+9-24)
> * Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
> * Microsoft Windows [Version 10.0.19043.1052]
> * Maven 3.6.3
> * Surefire 3.0.0-M5
> * JUnit (Jupiter) 5.7.2
> Reporter: Jan Mosig
> Priority: Major
>
> Hi there,
> the other day I was playing around with incubator code from JDK16 and noticed odd behavior wrt the reuseForks configuration.
>
> In order to compile and run tests, my project needs the jdk.incubator.foreign module. So I configured it like this:
> {code:java}
> <plugin>
> <groupId>org.apache.maven.plugins</groupId>
> <artifactId>maven-surefire-plugin</artifactId>
> <configuration>
> <reuseForks>false</reuseForks>
> <forkCount>1</forkCount>
> <argLine>-Dforeign.restricted=permit --add-modules=jdk.incubator.foreign</argLine>
> </configuration>
> </plugin>
> {code}
> Which results in
> {code}
> [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test (default-test) on project de.itemis.mosig.sfrf: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M5:test failed: org.junit.platform.commons.JUnitException: TestEngine with ID 'junit-jupiter' failed to discover tests: ClassSelector [className = 'de.itemis.mosig.sfrf.AppTest'] resolution failed: jdk/incubator/foreign/MemoryLayout: jdk.incubator.foreign.MemoryLayout -> [Help 1]
> {code}
> Whereas setting {{reuseForks}} to {{true}} works.
> Please note that the project itself is not modularized, i. e. it does not have a module-info.java specification (on purpose).
> I provided a demo for this over at GitHub: https://github.com/JanMosigItemis/sfrf
> Any thoughts?
--
This message was sent by Atlassian Jira
(v8.3.4#803005)