I'm currently trying PITest and so far it works properly. However, it is quite slow and the only solution so far is to use incremental analysis which potentially will solve the slowness. I've tried to set it as it's described in the documentation. Here is my configuration:
<build>
<plugins>
<plugin>
<executions>
<execution>
<id>pitest-mutation-coverage</id>
<goals>
<goal>mutationCoverage</goal>
</goals>
</execution>
</executions>
<groupId>org.pitest</groupId>
<artifactId>pitest-maven</artifactId>
<version>1.4.6</version>
<configuration>
<threads>8</threads>
<timestampedReports>false</timestampedReports>
<historyInputFile>${project.basedir}/pitest.history</historyInputFile>
<historyOutputFile>${project.basedir}/pitest.history</historyOutputFile>
<avoidCallsTo>
<avoidCallsTo>java.util.logging</avoidCallsTo>
<avoidCallsTo>org.slf4j</avoidCallsTo>
</avoidCallsTo>
<mutators>
<mutator>DEFAULTS</mutator>
</mutators>
</configuration>
</plugin>
</plugins>
However, in practise I don't see PITest taking historyInput and historyOutput into account and instead in the logs I'm seeing
[INFO] Will read and write history at /var/folders/x1/qp5hhks571q0drb7kd7vjn0c0000gn/T/my.module.groupId.artifactId.version_pitest_history.bin
I've tried plenty of different settings and none of them seem to work. Is there anything I'm missing?
Update
In the end, it turns out that the plugin definition was coming from the parent-pom and overriding it is partially possible in the inheriting child-pom.