devcon5io / mutation-analysis-plugin

Plugin for SonarQube to process mutation analysis results.
GNU Lesser General Public License v3.0
30 stars 17 forks source link

WARNING Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators #66

Open patpatpat123 opened 2 years ago

patpatpat123 commented 2 years ago

Hello Mutation Analysis Team,

Just wanted to say thanks for this very cool project, mutation tests are awesome!

I have a small issue, when running mutation tests with JUNIT 5 + pitest + SonarQube, and would like to raise it here.

Setup:

SonarQube 9.1 with the this analysis plugin installed.

And in Maven:

  <plugin>
                <groupId>org.sonarsource.scanner.maven</groupId>
                <artifactId>sonar-maven-plugin</artifactId>
                <version>3.9.1.2184</version>
                <dependencies>
                    <dependency>
                        <groupId>org.codehaus.woodstox</groupId>
                        <artifactId>woodstox-core-asl</artifactId>
                        <version>4.4.1</version>
                    </dependency>
                </dependencies>
            </plugin>
            <plugin>
                <groupId>org.pitest</groupId>
                <artifactId>pitest-maven</artifactId>
                <version>1.7.4</version>
                <configuration>
                    <withHistory>true</withHistory>
                    <threads>16</threads>
                    <outputFormats>
                        <param>XML</param>
                        <param>HTML</param>
                    </outputFormats>
                    <mutators>
                        <mutator>CONDITIONALS_BOUNDARY</mutator>
                        <mutator>INCREMENTS</mutator>
                        <mutator>INVERT_NEGS</mutator>
                        <mutator>MATH</mutator>
                        <mutator>NEGATE_CONDITIONALS</mutator>
                        <mutator>EMPTY_RETURNS</mutator>
                        <mutator>FALSE_RETURNS</mutator>
                        <mutator>TRUE_RETURNS</mutator>
                        <mutator>PRIMITIVE_RETURNS</mutator>
                        <mutator>REMOVE_INCREMENTS</mutator>
                        <mutator>EXPERIMENTAL_BIG_INTEGER</mutator>
                        <mutator>EXPERIMENTAL_MEMBER_VARIABLE</mutator>
                        <mutator>EXPERIMENTAL_SWITCH</mutator>
                        <mutator>CRCR1</mutator>
                        <mutator>CRCR2</mutator>
                        <mutator>CRCR3</mutator>
                        <mutator>CRCR4</mutator>
                        <mutator>CRCR5</mutator>
                        <mutator>CRCR6</mutator>
                        <mutator>ROR1</mutator>
                        <mutator>ROR2</mutator>
                        <mutator>ROR3</mutator>
                        <mutator>ROR4</mutator>
                        <mutator>ROR5</mutator>
                    </mutators>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.pitest</groupId>
                        <artifactId>pitest-junit5-plugin</artifactId>
                        <version>0.15</version>
                    </dependency>
                </dependencies>
            </plugin>

Note, I add manually the mutators I am interested in instead of any default. I am referring to this list for the actual content: http://pitest.org/quickstart/mutators/

Unfortunately, when I am running tests, I am always observing WARNING such as:

[WARNING] Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators.returns.EmptyObjectReturnValsMutator
[WARNING] Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators.rv.UOI1Mutator
[WARNING] Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators.rv.UOI2Mutator
[WARNING] Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators.rv.UOI3Mutator
[WARNING] Found unknown mutation operator: org.pitest.mutationtest.engine.gregor.mutators.rv.UOI4Mutator

I am having a hard time understanding, since those mutators should be supported by PITEST.

May I ask what is the issue and how to address this please?

Thank you

gmuecke commented 3 months ago

These mutators are not suppoted by the plugin. The plugin as documentation and rules for each of those mutators. Those you mentioned are rather new and have not been added to the plugin yet. As I don't have any capacity to do so, I'd much appreciate any contribution.