Base Plugin
1.0.5
Bug Fix: Swap Mutator Not Properly Isolated
In some circumstances the SWAP_PARAMS mutator interfered with the analysis of other mutants, resulting in false positives (mutation incorrectly killed).
1.0.4
Enhancement: Filter Uncovered Mutants
Mutants without coverage can now be excluded from the report by activating the feature +nouncovered
.
As uncovered mutants have a very low processing cost, filtering them does not greatly reduce analysis times. It may be desirable to exclude them when using git integration in mixed or test only mode.
1.0.3
Enhancement: Expand Licence Search
If the plugin is not supplied with the project base dir and dynamic licensing is not being used, it must search backwards for a licence file. This release expands the scope of that search.
1.0.2
Bug Fix: IndexOutOfBoundsException When Using Parameter Swap Mutator
Some users observed IndexOutOfBoundsExceptions when using the SWAP_PARAMS mutator on Kotlin codebases.
This was traced to an issue in how type signatures were parsed when filtering out junk instances of this mutation.
1.0.1
New Feature: Improved Descriptions Lambda Mutations
The base plugin now updates the descriptions of mutants within lambdas and other compiler constructs to be more human readable.
For example for
boolean foo(List<String> list) {
return list.stream()
.filter(s -> s.startsWith("dog"))
.findAny()
.isPresent();
}
Pitest will produce a mutant with a description like
replaced boolean return with true for com/example/SomeClass::lambda$foo$1
This will be converted to
replaced boolean return with true for 1st lambda in foo
Note, this feature was previously available only for Arcmutate Pro subscribers, but has now been included in the base plugin.
1.0.0
Enhancement: Improved Filtering of Equivalent Reactive Returns Mutants
Improvements to filtering of equivalent mutants in methods with reactive return types such as reactor.core.publisher.Flux
and io.reactivex.rxjava3.core.Maybe
.