[
https://issues.apache.org/jira/browse/SUREFIRE-2223?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17799872#comment-17799872
]
Michael Osipov commented on SUREFIRE-2223:
------------------------------------------
Here is the method in question:
{code:java}
@Override
public void execute() throws MojoExecutionException, MojoFailureException {
cli = commandLineOptions();
// Stuff that should have been final
setupStuff();
Platform platform =
PLATFORM.withJdkExecAttributesForTests(getEffectiveJvm());
Thread shutdownThread = new Thread(platform::setShutdownState);
addShutDownHook(shutdownThread);
try {
if (verifyParameters() && !hasExecutedBefore()) {
DefaultScanResult scan = scanForTestClasses();
if (!hasSuiteXmlFiles() && scan.isEmpty()) {
switch (getEffectiveFailIfNoTests()) {
case COULD_NOT_RUN_DEFAULT_TESTS:
throw new MojoFailureException(
"No tests were executed! (Set
-DfailIfNoTests=false to ignore this error.)");
case COULD_NOT_RUN_SPECIFIED_TESTS:
throw new MojoFailureException("No tests matching
pattern \""
+ getSpecificTests().toString()
+ "\" were executed! (Set "
+ "-D" + getPluginName()
+ ".failIfNoSpecifiedTests=false to ignore
this error.)");
default:
handleSummary(noTestsRun(), null);
return;
}
}
logReportsDirectory();
executeAfterPreconditionsChecked(scan, platform);
}
} finally {
platform.clearShutdownState();
removeShutdownHook(shutdownThread);
}
}
{code}
> Surefire evaluates parameter jvm before skip
> --------------------------------------------
>
> Key: SUREFIRE-2223
> URL: https://issues.apache.org/jira/browse/SUREFIRE-2223
> Project: Maven Surefire
> Issue Type: Bug
> Components: Maven Surefire Plugin
> Reporter: shpelda
> Priority: Minor
>
> Surefire 3.2.3 execution configured like the one bellow will fail if
> JAVA_11_HOME is not set.
> It is a regression, 2.17 version did correctly resolved skip(Tests) and
> later, if enabled, it evaluated jvm.
> {code:java}
> <execution>
> <id>h2-java11</id>
> <goals>
> <goal>test</goal>
> </goals>
> <configuration>
> <jvm>${JAVA_11_HOME}/bin/java</jvm>
> <skip>true</skip>
> </configuration>
> </execution>
> fails with
> {code}
> Caused by: org.apache.maven.plugin.MojoFailureException: Given path to java
> executor does not exist "c:\XXX\${JAVA_11_HOME}\bin\java".
> at org.apache.maven.plugin.surefire.AbstractSurefireMojo.getEffectiveJvm
> (AbstractSurefireMojo.java:2374)
> at org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute
> (AbstractSurefireMojo.java:882)
> at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo
> (DefaultBuildPluginManager.java:137)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:210)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:156)
> at org.apache.maven.lifecycle.internal.MojoExecutor.execute
> (MojoExecutor.java:148)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:117)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject
> (LifecycleModuleBuilder.java:81)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build
> (SingleThreadedBuilder.java:56)
> at org.apache.maven.lifecycle.internal.LifecycleStarter.execute
> (LifecycleStarter.java:128)
> at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:305)
> {code:java}
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)