mutation-analysis-plugin icon indicating copy to clipboard operation
mutation-analysis-plugin copied to clipboard

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

Open patpatpat123 opened this issue 3 years ago • 1 comments

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

patpatpat123 avatar Mar 03 '22 00:03 patpatpat123

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.

gmuecke avatar Apr 08 '24 19:04 gmuecke