[
https://issues.apache.org/jira/browse/SUREFIRE-1426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17498446#comment-17498446
]
Tibor Digana edited comment on SUREFIRE-1426 at 2/26/22, 1:38 PM:
------------------------------------------------------------------
[~olamy]
Your problem with the ASF build is that you run JPMS on JDK8 and you want to
compromise the behavior of {{maven.test.failure.ignore}} and you want to make
an exception so that the build would fail if you use JVM parameter which is
unknown for the VM. This is questionary and can be discussed because always
here can be two parties of people who may agree with you and who may disagree
because the behavior of {{maven.test.failure.ignore}} would not be so strick as
so far. Some people may say that VM startup error is part of the test and this
parameter should not fail the build. Some people may see unwanted but different
behavior on {{maven.test.failure.ignore}} if using {{forkCount=0}} for
in-plugin execution and other when {{forkCount > 0}} and finally the resulting
behavior would be different. Some people may say that Maven has very similar
option {{fail-never}} and the natural question rises up, should we have
strictly NOT to fail the build on illegal {{argLine}} or should strictly fail
the build? Another plugin Maven Compiler is also using forked JVM to compile
sources and there the VM may fail which is similar situation to yours and the
behavior should be similar.
was (Author: tibor17):
[~olamy]
Your problem with the ASF build is that you run JPMS on JDK8 and you want to
compromise the behavior of {{maven.test.failure.ignore}} and you want to make
an exception so that the build would fail if you use JVM parameter which is
unknown for the VM. This is questionary and can be discussed because always
here can be two parties of people who may agree with you and who may disagree
because the behavior of {{maven.test.failure.ignore}} would not be so strick as
so far. Some people may say that VM startup error is part of the test. Some
people may see different behavior on {{maven.test.failure.ignore}} if using
{{forkCount=0}} for in-plugin execution and other when {{forkCount > 0}} and
finally the resulting behavior would be different. Some people may say that
Maven has very similar option {{fail-never}} and the natural question rises up,
should we have strictly NOT to fail the build on illegal {{argLine}} or should
strictly fail the build? Another plugin Maven Compiler is also using forked JVM
to compile sources and there the VM may fail which is similar situation to
yours and the behavior should be similar.
> Fork crash doesn't fail build with -Dmaven.test.failure.ignore=true
> -------------------------------------------------------------------
>
> Key: SUREFIRE-1426
> URL: https://issues.apache.org/jira/browse/SUREFIRE-1426
> Project: Maven Surefire
> Issue Type: Bug
> Components: process forking
> Reporter: Dan Berindei
> Assignee: Tibor Digana
> Priority: Major
> Attachments: surefire-1426-test.tar.gz
>
>
> We have a reactor with many modules, and also a few random test failures. We
> want to run the tests of all the modules even if a test failed in the core
> module, so we use {{mvn -Dmaven.test.failure.ignore=true}}. {{mvn
> --fail-at-end}} only builds the modules that do not depend on the module with
> a failed test.
> The problem is that fork crashes like this one are written to the surefire
> reports, so Jenkins ignores them:
> {noformat}
> org.apache.maven.surefire.booter.SurefireBooterForkException: There was an
> error in the forked process
> Unable to load category: stress
> at
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:665)
> at
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.fork(ForkStarter.java:533)
> at
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:279)
> at
> org.apache.maven.plugin.surefire.booterclient.ForkStarter.run(ForkStarter.java:243)
> at
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeProvider(AbstractSurefireMojo.java:1077)
> at
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.executeAfterPreconditionsChecked(AbstractSurefireMojo.java:907)
> at
> org.apache.maven.plugin.surefire.AbstractSurefireMojo.execute(AbstractSurefireMojo.java:785)
> at
> org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:134)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:207)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
> at
> org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
> at
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
> at
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
> at
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:307)
> at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:193)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:106)
> at org.apache.maven.cli.MavenCli.execute(MavenCli.java:863)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:288)
> at org.apache.maven.cli.MavenCli.main(MavenCli.java:199)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356){noformat}
--
This message was sent by Atlassian Jira
(v8.20.1#820001)