STAMP-project / pitest-descartes

Descartes supports developers to improve their test suites by reporting weak spots in covered code
https://hal.archives-ouvertes.fr/hal-01870976/document
GNU Lesser General Public License v3.0
125 stars 20 forks source link

Execution default-cli of goal org.pitest:pitest-maven:1.4.7:mutationCoverage failed: This feature requires ASM7 #108

Closed z20foued closed 4 years ago

z20foued commented 5 years ago

Hi,

I'm trying to use pitest for JDK 11 project as it's described basicly in the documentation and got the following error: Failed to execute goal org.pitest:pitest-maven:1.4.7:mutationCoverage (default-cli) on project commons: Execution default-cli of goal org.pitest:pitest-maven:1.4.7:mutationCoverage failed: This feature requires ASM7

Yet I have asm 7 dependency in my maven-compiler-plugin.

oscarlvp commented 5 years ago

Hi,

Can you please share the version of Descartes that you are using?

z20foued commented 5 years ago

Hi,

Can you please share the version of Descartes that you are using?

Hi,

I'm using pitest-maven 1.4.7 and descartes 1.2.5. My java version is 11 and maven configured as:

   <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.22.0</version>
        <dependencies>
          <dependency>
            <groupId>org.ow2.asm</groupId>
            <artifactId>asm</artifactId>
            <version>7.0</version> <!-- Use newer version of ASM -->
          </dependency>
          <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.3.2</version>
          </dependency>
        </dependencies>
        <configuration>
          <parallel>methods</parallel>
          <threadCount>10</threadCount>
          <environmentVariables>
            <!-- limit log for endpoint test-->
            <LOGGING_LEVEL>ERROR</LOGGING_LEVEL>
          </environmentVariables>
        </configuration>
   </plugin>
arnobl commented 4 years ago

Hi Oscar, I can confirm this bug with Java11: 15 students are using the same java project that uses descartes and some of them have this issue.

            <plugin>
                <groupId>org.pitest</groupId>
                <artifactId>pitest-maven</artifactId>
                <version>1.4.9</version>

                <executions>
                    <execution>
                        <id>pitest-check</id>
                        <phase>test</phase>
                        <goals>
                            <goal>mutationCoverage</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <mutationEngine>descartes</mutationEngine>
                    <threads>1</threads>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.pitest</groupId>
                        <artifactId>pitest-junit5-plugin</artifactId>
                        <version>0.9</version>
                    </dependency>
                    <dependency>
                        <groupId>eu.stamp-project</groupId>
                        <artifactId>descartes</artifactId>
                        <version>1.2.5</version>
                    </dependency>
                </dependencies>
            </plugin>

I will ask students more information about their configuration.

WLammert commented 4 years ago

We have the same problem in our project, this is why we cannot use Descartes. Configuration: OpenJdk v11.0.5, pitest v.1.4.6, descartes v1.2.6 Stacktrace: 10:37:09.270 [ERROR] [system.err] Exception in thread "main" java.lang.UnsupportedOperationException: This feature requires ASM7 10:37:09.271 [ERROR] [system.err] at org.pitest.reloc.asm.ClassVisitor.visitNestMember(ClassVisitor.java:236) 10:37:09.271 [ERROR] [system.err] at org.pitest.reloc.asm.ClassReader.accept(ClassReader.java:660) 10:37:09.271 [ERROR] [system.err] at org.pitest.reloc.asm.ClassReader.accept(ClassReader.java:400) 10:37:09.271 [ERROR] [system.err] at eu.stamp_project.mutationtest.descartes.DescartesMutater.getMutationPoints(DescartesMutater.java:40) 10:37:09.271 [ERROR] [system.err] at eu.stamp_project.mutationtest.descartes.DescartesMutater.findMutations(DescartesMutater.java:34) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.build.MutationSource.createMutations(MutationSource.java:55) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.build.MutationTestBuilder.lambda$classToMutations$1(MutationTestBuilder.java:94) 10:37:09.271 [ERROR] [system.err] at org.pitest.functional.FCollection.flatMapTo(FCollection.java:58) 10:37:09.271 [ERROR] [system.err] at org.pitest.functional.FCollection.flatMap(FCollection.java:68) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.build.MutationTestBuilder.createMutationTestUnits(MutationTestBuilder.java:58) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.tooling.MutationCoverage.buildMutationTests(MutationCoverage.java:281) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.tooling.MutationCoverage.runReport(MutationCoverage.java:135) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:120) 10:37:09.271 [ERROR] [system.err] at org.pitest.mutationtest.tooling.EntryPoint.execute(EntryPoint.java:50) 10:37:09.272 [ERROR] [system.err] at org.pitest.mutationtest.commandline.MutationCoverageReport.runReport(MutationCoverageReport.java:87) 10:37:09.272 [ERROR] [system.err] at org.pitest.mutationtest.commandline.MutationCoverageReport.main(MutationCoverageReport.java:45)

christianhujer commented 4 years ago

I have the same issue.

Java version: OpenJDK 13.0.1 Operating System: Linux (Kubuntu 19.10) Maven version: 3.6.3 pitest-maven version: 1.4.10 descartes version: 1.2.6 pitest-junit5-plugin version: 0.11

Error message:

[ERROR] Failed to execute goal org.pitest:pitest-maven:1.4.10:mutationCoverage (default-cli) on project lib-word2epub: Execution default-cli of goal org.pitest:pitest-maven:1.4.10:mutationCoverage failed: This feature requires ASM7 -> [Help 1]
bcarriou commented 4 years ago

I have the same issue.

Java version: OpenJDK 11.0.6_10 Maven version: 3.6.3 pitest-maven version: 1.4.11 descartes version: 1.2.6 pitest-junit5-plugin version: 0.11

Error mesage:

[ERROR] Failed to execute goal org.pitest:pitest-maven:1.4.11:mutationCoverage (default-cli) on project PDQm-Simulator-Adapter: Execution default-cli of goal org.pitest:pitest-maven:1.4.10:mutationCoverage failed: This feature requires ASM7 -> [Help 1]

I can see that:

2:15:06 PM PIT >> INFO : MINION : Jan 22, 2020 2:15:06 PM org.junit.platform.launcher.core.DefaultLauncher handleThrowable
WARNING: TestEngine with ID 'junit-jupiter' failed to execute tests
java.lang.NoClassDefFoundError: org/hamcrest/SelfDescribing
    at java.base/java.lang.ClassLoader.def

UPDATE:

Remove descartes fix the problem ...

oscarlvp commented 4 years ago

@arnobl Is it possible to have a link to one of the projects that failed for your students?

oscarlvp commented 4 years ago

Tested with a project from @arnobl and it works, so it seems that 836fe7a fixes this issue.

oscarlvp commented 4 years ago

122 finally solves this issue.

bcarriou commented 4 years ago

Hi, can you tell me when you want to perform a new version of plugin with this fix ? Thx

oscarlvp commented 4 years ago

@bcarriou I'm waiting for some pull requests from external collaborators, but it shouldn't be too long. Also I'm hesitating to support newer PIT versions, since there are issues in how the coverage is being collected, for example hcoles/pitest#746 and hcoles/pitest#720

linusjf commented 4 years ago

I'm having a similar problem.

My Jdk version is as below:

@localhost:/data/data/com.termux/files/home/DSAlgos[root@localhost DSAlgos]# java --version openjdk 11.0.8 2020-07-14 OpenJDK Runtime Environment (build 11.0.8+10) OpenJDK 64-Bit Server VM (build 11.0.8+10, mixed mode)

The following is the stack trace:

----------------------------------- [ERROR] Failed to execute goal org.pitest:pitest-maven:1.5.2:mutationCoverage (descartes-report) on project DSAlgos: Execution descartes-report of goal org.pitest:pitest-maven:1.5.2:mutationCoverage failed: This feature requires ASM7 -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.pitest:pitest-maven:1.5.2:mutationCoverage (descartes-report) on project DSAlgos: Execution descartes-report of goal org.pitest:pitest-maven:1.5.2:mutationCoverage failed: This feature requires ASM7 at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215) 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) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: org.apache.maven.plugin.PluginExecutionException: Execution descartes-report of goal org.pitest:pitest-maven:1.5.2:mutationCoverage failed: This feature requires ASM7 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148) 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) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) Caused by: java.lang.UnsupportedOperationException: This feature requires ASM7 at org.pitest.reloc.asm.ClassVisitor.visitNestHost (ClassVisitor.java:159) at org.pitest.reloc.asm.ClassReader.accept (ClassReader.java:559) at org.pitest.reloc.asm.ClassReader.accept (ClassReader.java:401) at eu.stamp_project.mutationtest.descartes.DescartesMutater.getMutationPoints (DescartesMutater.java:40) at eu.stamp_project.mutationtest.descartes.DescartesMutater.findMutations (DescartesMutater.java:34) at org.pitest.mutationtest.build.MutationSource.createMutations (MutationSource.java:55) at org.pitest.mutationtest.build.MutationTestBuilder.lambda$classToMutations$0 (MutationTestBuilder.java:90) at org.pitest.functional.FCollection.flatMapTo (FCollection.java:51) at org.pitest.functional.FCollection.flatMap (FCollection.java:61) at org.pitest.mutationtest.build.MutationTestBuilder.createMutationTestUnits (MutationTestBuilder.java:58) at org.pitest.mutationtest.tooling.MutationCoverage.buildMutationTests (MutationCoverage.java:281) at org.pitest.mutationtest.tooling.MutationCoverage.runReport (MutationCoverage.java:135) at org.pitest.mutationtest.tooling.EntryPoint.execute (EntryPoint.java:121) at org.pitest.mutationtest.tooling.EntryPoint.execute (EntryPoint.java:51) at org.pitest.maven.RunPitStrategy.execute (RunPitStrategy.java:35) at org.pitest.maven.AbstractPitMojo.analyse (AbstractPitMojo.java:463) at org.pitest.maven.AbstractPitMojo.execute (AbstractPitMojo.java:404) 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) at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192) at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105) at org.apache.maven.cli.MavenCli.execute (MavenCli.java:957) at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:289) at org.apache.maven.cli.MavenCli.main (MavenCli.java:193) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke (Method.java:566) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:282) at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:225) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:406) at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:347) [ERROR] [ERROR]

oscarlvp commented 3 years ago

@Fernal73 this should be solved with the latest version.

007-PRAKHAR commented 1 year ago

Hi, can someone please help me on the same case I am getting below error

[ERROR] Failed to execute goal org.pitest:pitest-maven:1.14.4:mutationCoverage (default-cli) on project numeric: Execution default-cli of goal org.pitest:pitest-maven:1.14.4:mutationCoverage failed: Unknown listener requested in XCL,HTML

right now my pom.xml code is

        <!-- PIT Test Mutation Plugin -->
            <plugin>
                <groupId>org.pitest</groupId>
                <artifactId>pitest-maven</artifactId>
                <version>1.14.4</version>
                <dependencies>
                    <dependency>
                        <groupId>org.pitest</groupId>
                        <artifactId>pitest-junit5-plugin</artifactId>
                        <version>1.2.0</version>
                            </dependency>
                </dependencies>
                <configuration>
                    <mutationThreshold>70</mutationThreshold>
                    <outputFormats>
                        <outputFormat>XCL</outputFormat>
                        <outputFormat>HTML</outputFormat>
                    </outputFormats>
                </configuration>
            </plugin>