From e7ed7edc3080080438895809810ece3bb85ba615 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Mon, 27 May 2024 16:15:40 -0700 Subject: [PATCH] Fixed missing maxMutationsPerClass parameter --- .../java/rife/bld/extension/PitestOperation.java | 11 +++++++++++ .../rife/bld/extension/PitestOperationTest.java | 14 ++++++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main/java/rife/bld/extension/PitestOperation.java b/src/main/java/rife/bld/extension/PitestOperation.java index f4b737f..8175f17 100644 --- a/src/main/java/rife/bld/extension/PitestOperation.java +++ b/src/main/java/rife/bld/extension/PitestOperation.java @@ -592,6 +592,17 @@ public PitestOperation jvmPath(String path) { return this; } + /** + * Maximum number of surviving mutants to allow without throwing an error. + * + * @param maxMutationsPerClass the max number + * @return this operation instance + */ + public PitestOperation maxMutationsPerClass(int maxMutationsPerClass) { + options.put("--maxMutationsPerClass", String.valueOf(maxMutationsPerClass)); + return this; + } + /** * Maximum number of surviving mutants to allow without throwing an error. * diff --git a/src/test/java/rife/bld/extension/PitestOperationTest.java b/src/test/java/rife/bld/extension/PitestOperationTest.java index caf5655..63a27f6 100644 --- a/src/test/java/rife/bld/extension/PitestOperationTest.java +++ b/src/test/java/rife/bld/extension/PitestOperationTest.java @@ -77,12 +77,13 @@ void checkAllParameters() { "--fullMutationMatrix", "--historyInputLocation", "--historyOutputLocation", - "--includeLaunchClasspath", "--includedGroups", "--includedTestMethods", + "--includeLaunchClasspath", "--inputEncoding", "--jvmArgs", "--jvmPath", + "--maxMutationsPerClass", "--maxSurviving", "--mutableCodePaths", "--mutationEngine", @@ -122,8 +123,8 @@ void checkAllParameters() { .excludedGroups(List.of(FOO, BAR)) .excludedMethods("method") .excludedMethods(List.of(FOO, BAR)) - .excludedTestClasses("test") .excludedRunners("runners") + .excludedTestClasses("test") .exportLineCoverage(true) .failWhenNoMutations(true) .features("feature") @@ -136,6 +137,7 @@ void checkAllParameters() { .inputEncoding("encoding") .jvmArgs("-XX:+UnlogregckDiagnosticVMOptions") .jvmPath("path") + .maxMutationsPerClass(3) .maxSurviving(1) .mutableCodePaths("codePaths") .mutationEngine("engine") @@ -456,6 +458,14 @@ void jvmPath() { assertThat(op.options.get("--jvmPath")).isEqualTo(FOO); } + @Test + void maxMutationsPerClass() { + var op = new PitestOperation() + .fromProject(new BaseProject()) + .maxMutationsPerClass(12); + assertThat(op.options.get("--maxMutationsPerClass")).isEqualTo("12"); + } + @Test void maxSurviving() { var op = new PitestOperation()