diff --git a/pom.xml b/pom.xml index c9cb2c55..99f5ae00 100644 --- a/pom.xml +++ b/pom.xml @@ -32,7 +32,7 @@ 1.2.0 1.1.4 - 1.0-17 + 1.0-18 1.28 8.1.0 diff --git a/src/test/java/io/jenkins/plugins/grading/AnalysisScoreTest.java b/src/test/java/io/jenkins/plugins/grading/AnalysisScoreTest.java index e15d29f9..8e68b7e6 100644 --- a/src/test/java/io/jenkins/plugins/grading/AnalysisScoreTest.java +++ b/src/test/java/io/jenkins/plugins/grading/AnalysisScoreTest.java @@ -24,10 +24,10 @@ class AnalysisScoreTest { @Test void shouldCalculate() { AnalysisResult result = mock(AnalysisResult.class); - when(result.getTotalErrorsSize()).thenReturn(1); - when(result.getTotalHighPrioritySize()).thenReturn(1); - when(result.getTotalNormalPrioritySize()).thenReturn(1); - when(result.getTotalLowPrioritySize()).thenReturn(1); + when(result.getTotalErrorsSize()).thenReturn(2); + when(result.getTotalHighPrioritySize()).thenReturn(2); + when(result.getTotalNormalPrioritySize()).thenReturn(2); + when(result.getTotalLowPrioritySize()).thenReturn(2); when(result.getId()).thenReturn(ID); AnalysisConfiguration analysisConfiguration = new AnalysisConfigurationBuilder() @@ -38,7 +38,7 @@ void shouldCalculate() { .setLowImpact(-1) .build(); AnalysisScore analysisScore = new AnalysisScore(NAME, analysisConfiguration, result); - assertThat(analysisScore).hasTotalImpact(-4 - 3 - 2 - 1); + assertThat(analysisScore).hasTotalImpact(-8 - 6 - 4 - 2); } @Test diff --git a/src/test/java/io/jenkins/plugins/grading/AutoGraderITest.java b/src/test/java/io/jenkins/plugins/grading/AutoGraderITest.java index 0f1cd9dd..dc78f885 100644 --- a/src/test/java/io/jenkins/plugins/grading/AutoGraderITest.java +++ b/src/test/java/io/jenkins/plugins/grading/AutoGraderITest.java @@ -1,16 +1,27 @@ package io.jenkins.plugins.grading; import java.io.IOException; +import java.util.Collections; import java.util.List; import org.junit.Test; import org.jvnet.hudson.test.JenkinsRule; +import org.jenkinsci.plugins.pitmutation.PitPublisher; import org.jenkinsci.plugins.workflow.cps.CpsFlowDefinition; import org.jenkinsci.plugins.workflow.job.WorkflowJob; +import hudson.model.FreeStyleProject; import hudson.model.Result; import hudson.model.Run; +import hudson.tasks.junit.JUnitResultArchiver; +import io.jenkins.plugins.analysis.core.steps.IssuesRecorder; +import io.jenkins.plugins.analysis.warnings.Cpd; +import io.jenkins.plugins.analysis.warnings.Pmd; +import io.jenkins.plugins.analysis.warnings.SpotBugs; +import io.jenkins.plugins.analysis.warnings.checkstyle.CheckStyle; +import io.jenkins.plugins.coverage.CoveragePublisher; +import io.jenkins.plugins.coverage.adapter.JacocoReportAdapter; import io.jenkins.plugins.util.IntegrationTestWithJenkinsPerSuite; import static io.jenkins.plugins.grading.assertions.Assertions.*; @@ -19,8 +30,16 @@ * Integration tests for the {@link AutoGrader} step. * * @author Ullrich Hafner + * @author Johannes Hintermaier + * @author Lion Kosiuk */ public class AutoGraderITest extends IntegrationTestWithJenkinsPerSuite { + + private static final String ANALYSIS_CONFIGURATION = "{\"analysis\":{\"maxScore\":100,\"errorImpact\":-10,\"highImpact\":-5,\"normalImpact\":-2,\"lowImpact\":-1}}"; + private static final String MUTATIONS_CONFIGURATION = "{\"pit\":{\"maxScore\":100,\"detectedImpact\":1,\"undetectedImpact\":-1,\"ratioImpact\":0}}"; + private static final String TEST_CONFIGURATION = "{\"tests\":{\"maxScore\":100,\"passedImpact\":1,\"failureImpact\":-5,\"skippedImpact\":-1}}"; + private static final String COVERAGE_CONFIGURATION = "{ \"coverage\":{\"maxScore\":100,\"coveredImpact\":1,\"missedImpact\":-1}}"; + /** Verifies that the step skips all autograding parts if the configuration is empty. */ @Test public void shouldSkipGradingIfConfigurationIsEmpty() { @@ -55,20 +74,261 @@ public void shouldAbortBuildSinceNoTestActionHasBeenRegistered() { public void shouldCountCheckStyleWarnings() { WorkflowJob job = createPipelineWithWorkspaceFiles("checkstyle.xml"); - configureScanner(job, "checkstyle", "{\"analysis\":{\"maxScore\":100,\"errorImpact\":-10,\"highImpact\":-5,\"normalImpact\":-2,\"lowImpact\":-1}}"); + configureScanner(job, "checkstyle", ANALYSIS_CONFIGURATION); Run baseline = buildSuccessfully(job); assertThat(getConsoleLog(baseline)).contains("[Autograding] Grading static analysis results for CheckStyle"); assertThat(getConsoleLog(baseline)).contains("[Autograding] -> Score -60 (warnings distribution err:6, high:0, normal:0, low:0)"); assertThat(getConsoleLog(baseline)).contains("[Autograding] Total score for static analysis results: 40"); - List actions = baseline.getActions(AutoGradingBuildAction.class); + checkstyleAssertions(baseline); + } + + @Test + public void shouldCountCheckstyleFreeStyle(){ + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("checkstyle.xml"); + IssuesRecorder recorder = new IssuesRecorder(); + CheckStyle checkStyle = new CheckStyle(); + checkStyle.setPattern("checkstyle.xml"); + recorder.setTools(checkStyle); + project.getPublishersList().add(recorder); + project.getPublishersList().add(new AutoGrader(ANALYSIS_CONFIGURATION)); + Run run = buildSuccessfully(project); + + checkstyleAssertions(run); + } + + private void checkstyleAssertions(Run run) { + List actions = run.getActions(AutoGradingBuildAction.class); + assertThat(actions).hasSize(1); AggregatedScore score = actions.get(0).getResult(); - assertThat(score).hasAchieved(40); } + /** + * Verifies that SpotBugs results are correctly graded. + */ + @Test + public void shouldGradeSpotBugs(){ + WorkflowJob job = createPipelineWithWorkspaceFiles("spotbugs.xml"); + configureScanner(job, "spotbugs", ANALYSIS_CONFIGURATION); + Run run = buildSuccessfully(job); + spotBugAssertions(run); + } + + @Test + public void shouldGradeSpotBugsFreestyle(){ + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("spotbugs.xml"); + IssuesRecorder recorder = new IssuesRecorder(); + SpotBugs spotBugs = new SpotBugs(); + spotBugs.setPattern("**/spotbugs.xml*"); + recorder.setTools(spotBugs); + project.getPublishersList().add(recorder); + project.getPublishersList().add(new AutoGrader(ANALYSIS_CONFIGURATION)); + Run run = buildSuccessfully(project); + + spotBugAssertions(run); + } + + private void spotBugAssertions(Run run){ + List actions = run.getActions(AutoGradingBuildAction.class); + + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(97); + } + + /** + * Verifies that CPD results are correctly graded. + */ + @Test + public void shouldGradeCPD(){ + WorkflowJob job = createPipelineWithWorkspaceFiles("cpd.xml"); + configureScanner(job, "cpd", ANALYSIS_CONFIGURATION); + Run run = buildSuccessfully(job); + + cpdAssertions(run); + } + + @Test + public void shouldGradeCPDFreestyle(){ + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("cpd.xml"); + IssuesRecorder recorder = new IssuesRecorder(); + Cpd cpd = new Cpd(); + cpd.setPattern("**/cpd.xml*"); + recorder.setTools(cpd); + project.getPublishersList().add(recorder); + project.getPublishersList().add(new AutoGrader(ANALYSIS_CONFIGURATION)); + Run run = buildSuccessfully(project); + + cpdAssertions(run); + } + + private void cpdAssertions(Run run){ + List actions = run.getActions(AutoGradingBuildAction.class); + + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(98); + } + + /** + * Verifies that PMD results are correctly graded. + */ + @Test + public void shouldGradePMD(){ + WorkflowJob job = createPipelineWithWorkspaceFiles("pmd.xml"); + configureScanner(job, "pmd", ANALYSIS_CONFIGURATION); + Run run = buildSuccessfully(job); + + pmdAssertions(run); + } + + @Test + public void shouldGradePMDFreestyle(){ + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("pmd.xml"); + IssuesRecorder recorder = new IssuesRecorder(); + Pmd pmd = new Pmd(); + pmd.setPattern("**/pmd.xml"); + recorder.setTools(pmd); + project.getPublishersList().add(recorder); + project.getPublishersList().add(new AutoGrader(ANALYSIS_CONFIGURATION)); + Run run = buildSuccessfully(project); + + pmdAssertions(run); + } + + private void pmdAssertions(Run run) { + List actions = run.getActions(AutoGradingBuildAction.class); + + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(88); + } + + /** + * Verifies that Mutation results are correctly graded. + */ + @Test + public void shouldGradeMutationCoverage() { + WorkflowJob job = createPipelineWithWorkspaceFiles("mutations.xml"); + configureScanner(job, "mutations", MUTATIONS_CONFIGURATION); + Run run = buildSuccessfully(job); + + mutationAssertions(run); + } + + @Test + public void shouldGradeMutationCoverageFreestyle(){ + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("mutations.xml"); + PitPublisher recorder = new PitPublisher(); + recorder.setMutationStatsFile("**/mutations.xml"); + + project.getPublishersList().add(recorder); + project.getPublishersList().add(new AutoGrader(MUTATIONS_CONFIGURATION)); + Run run = buildSuccessfully(project); + + mutationAssertions(run); + } + + private void mutationAssertions(Run run){ + List actions = run.getActions(AutoGradingBuildAction.class); + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(56); + } + + /** + * Verifies that Tests results are correctly graded with pipeline. + */ + @Test + public void shouldGradeTestResults() { + WorkflowJob job = createPipelineWithWorkspaceFiles("TEST-InjectedTest.xml", + "TEST-io.jenkins.plugins.grading.AnalysisScoreTest.xml", + "TEST-io.jenkins.plugins.grading.ArchitectureRulesTest.xml", + "TEST-io.jenkins.plugins.grading.AutoGraderITest.xml", + "TEST-io.jenkins.plugins.grading.AutoGraderTest.xml", + "TEST-io.jenkins.plugins.grading.CoverageScoreTests.xml", + "TEST-io.jenkins.plugins.grading.PackageArchitectureTest.xml", + "TEST-io.jenkins.plugins.grading.PitScoreTest.xml", + "TEST-io.jenkins.plugins.grading.ScoreTest.xml", + "TEST-io.jenkins.plugins.grading.TestScoreTest.xml"); + + configureScanner(job, "*",TEST_CONFIGURATION); + Run run = buildSuccessfully(job); + + testResultsAssertions(run); + } + + /** + * Verifies that Tests results are correctly graded with freestyle. + */ + @Test + public void shouldGradeTestResultsFreestyle() { + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("TEST-InjectedTest.xml", + "TEST-io.jenkins.plugins.grading.AnalysisScoreTest.xml", + "TEST-io.jenkins.plugins.grading.ArchitectureRulesTest.xml", + "TEST-io.jenkins.plugins.grading.AutoGraderITest.xml", + "TEST-io.jenkins.plugins.grading.AutoGraderTest.xml", + "TEST-io.jenkins.plugins.grading.CoverageScoreTests.xml", + "TEST-io.jenkins.plugins.grading.PackageArchitectureTest.xml", + "TEST-io.jenkins.plugins.grading.PitScoreTest.xml", + "TEST-io.jenkins.plugins.grading.ScoreTest.xml", + "TEST-io.jenkins.plugins.grading.TestScoreTest.xml"); + + JUnitResultArchiver jUnitResultArchiver = new JUnitResultArchiver("*"); + project.getPublishersList().add(jUnitResultArchiver); + project.getPublishersList().add(new AutoGrader(TEST_CONFIGURATION)); + Run run = buildSuccessfully(project); + + testResultsAssertions(run); + } + + private void testResultsAssertions(Run run) { + List actions = run.getActions(AutoGradingBuildAction.class); + + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(53); + } + + /** + * Verifies that Coveragescore results are correctly graded with pipeline. + */ + @Test + public void shouldGradeCoverageScore() { + WorkflowJob job = createPipelineWithWorkspaceFiles("jacoco.xml"); + configureScanner(job, "jacoco", COVERAGE_CONFIGURATION); + Run run = buildSuccessfully(job); + + jacocoBugAssertions(run); + } + + /** + * Verifies that Coveragescore results are correctly graded with freestyle. + */ + @Test + public void shouldGraveCoverageScoreFreestyle() { + FreeStyleProject project = createFreeStyleProjectWithWorkspaceFiles("jacoco.xml"); + JacocoReportAdapter jacocoReportAdapter = new JacocoReportAdapter("**/jacoco.xml*"); + CoveragePublisher coveragePublisher = new CoveragePublisher(); + coveragePublisher.setAdapters(Collections.singletonList(jacocoReportAdapter)); + project.getPublishersList().add(coveragePublisher); + project.getPublishersList().add(new AutoGrader(COVERAGE_CONFIGURATION)); + Run run = buildSuccessfully(project); + + jacocoBugAssertions(run); + } + + private void jacocoBugAssertions(Run run) { + List actions = run.getActions(AutoGradingBuildAction.class); + + assertThat(actions).hasSize(1); + AggregatedScore score = actions.get(0).getResult(); + assertThat(score).hasAchieved(50); + } + /** * Returns the console log as a String. * @@ -86,13 +346,46 @@ protected String getConsoleLog(final Run build) { } } - private void configureScanner(final WorkflowJob job, final String fileName, final String configuration) { - job.setDefinition(new CpsFlowDefinition("node {\n" - + " stage ('Integration Test') {\n" - + " recordIssues tool: checkStyle(pattern: '**/" + fileName + "*')\n" - + " autoGrade('" + configuration + "')\n" + + private void configureScanner(final WorkflowJob job, final String fileName, + final String configuration) { + String script = "node {\n"; + switch (fileName) { + case "checkstyle": + script += " stage ('Integration Test') {\n" + + " recordIssues tool: checkStyle(pattern: '**/" + fileName + "*')\n"; + break; + case "jacoco": + script += " stage ('Integration Test Coverage') {\n" + + " publishCoverage adapters: [jacocoAdapter('**/" + fileName + + "*')], sourceFileResolver: sourceFiles('NEVER_STORE')\n"; + break; + case "mutations": + script += " stage ('Integration Test Mutation Coverage') {\n" + + " step([$class: 'PitPublisher', mutationStatsFile: '**/" + fileName + "*'])\n"; + break; + case "spotbugs": + script += " stage ('Integration Test SpotBugs') {\n" + + " recordIssues tool: spotBugs(pattern: '**/" + fileName + "*')\n"; + break; + case "cpd": + script += " stage ('Integration Test CPD') {\n" + + " recordIssues tool: cpd(pattern: '**/" + fileName + "*')\n"; + break; + case "pmd": + script += " stage ('Integration Test PMD') {\n" + + " recordIssues tool: pmdParser(pattern: '**/" + fileName + "*')\n"; + break; + + default: + script += " stage ('Build and Static Analysis') {\n" + + " junit testResults: '**/TEST-" + fileName + ".xml'\n"; + break; + } + script += " autoGrade('" + configuration + "')\n" + " }\n" - + "}", true)); + + "}"; + job.setDefinition(new CpsFlowDefinition(script, true)); } -} +} \ No newline at end of file diff --git a/src/test/java/io/jenkins/plugins/grading/ScoreTest.java b/src/test/java/io/jenkins/plugins/grading/ScoreTest.java index a4e18fed..86961c1d 100644 --- a/src/test/java/io/jenkins/plugins/grading/ScoreTest.java +++ b/src/test/java/io/jenkins/plugins/grading/ScoreTest.java @@ -145,8 +145,9 @@ void shouldUpdateWithAllConfigurations() { PitScore pitScore = mock(PitScore.class); when(pitScore.getTotalImpact()).thenReturn(-20); - score.addPitTotal(pitConfiguration, pitScore); + int pitAchieved = score.addPitTotal(pitConfiguration, pitScore); + assertThat(pitAchieved).isEqualTo(80); assertThat(score).hasAchieved(80); assertThat(score).hasTotal(100); assertThat(score).hasRatio(80); @@ -175,8 +176,9 @@ void shouldUpdateWithAllConfigurations() { CoverageScore coverageScore = mock(CoverageScore.class); when(coverageScore.getTotalImpact()).thenReturn(-70); - score.addCoverageTotal(coverageConfiguration, coverageScore); + int coverageAchieved = score.addCoverageTotal(coverageConfiguration, coverageScore); + assertThat(coverageAchieved).isEqualTo(30); assertThat(score).hasAchieved(150); assertThat(score).hasTotal(300); assertThat(score).hasRatio(50); @@ -188,8 +190,9 @@ void shouldUpdateWithAllConfigurations() { .build(); AnalysisScore analysisScore = createAnalysisScore(49); - score.addAnalysisTotal(analysisConfiguration, Collections.singletonList(analysisScore)); + int analysisAchieved = score.addAnalysisTotal(analysisConfiguration, Collections.singletonList(analysisScore)); + assertThat(analysisAchieved).isEqualTo(49); assertThat(score).hasAchieved(199); assertThat(score).hasTotal(400); assertThat(score).hasRatio(49); diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-InjectedTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-InjectedTest.xml new file mode 100644 index 00000000..e443334f --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-InjectedTest.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AnalysisScoreTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AnalysisScoreTest.xml new file mode 100644 index 00000000..7908371d --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AnalysisScoreTest.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ArchitectureRulesTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ArchitectureRulesTest.xml new file mode 100644 index 00000000..d293504c --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ArchitectureRulesTest.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderITest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderITest.xml new file mode 100644 index 00000000..45b914b6 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderITest.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderTest.xml new file mode 100644 index 00000000..bd3640af --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.AutoGraderTest.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.CoverageScoreTests.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.CoverageScoreTests.xml new file mode 100644 index 00000000..8f8de406 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.CoverageScoreTests.xml @@ -0,0 +1,10 @@ + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PackageArchitectureTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PackageArchitectureTest.xml new file mode 100644 index 00000000..7b8036f0 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PackageArchitectureTest.xml @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PitScoreTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PitScoreTest.xml new file mode 100644 index 00000000..ae992da4 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.PitScoreTest.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ScoreTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ScoreTest.xml new file mode 100644 index 00000000..bdd38741 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.ScoreTest.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.TestScoreTest.xml b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.TestScoreTest.xml new file mode 100644 index 00000000..8d1b526d --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/TEST-io.jenkins.plugins.grading.TestScoreTest.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/cpd.xml b/src/test/resources/io/jenkins/plugins/grading/cpd.xml new file mode 100644 index 00000000..bdd0b3a2 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/cpd.xml @@ -0,0 +1,27 @@ + + + + + + run, + final Score actualScore, final JSONObject testConfiguration, final LogHandler logHandler) { + TestResultAction action = run.getAction(TestResultAction.class); + if (action == null) { + throw new IllegalArgumentException( + "Test scoring has been enabled, but no test results have been found."); + } + + logHandler.log("Grading test results " + action.getDisplayName()); + TestConfiguration testsConfiguration = TestConfiguration.from(testConfiguration); + TestScore score = new TestScore(testsConfiguration, action); + int total = actualScore.addTestsTotal(testsConfiguration, score); + + logHandler.log("-> Score %d - from recorded test results: %d, %d, %d, %d", + score.getTotalImpact(), score.getTotalSize(), score.getPassedSize(), + score.getFailedSize(), score.getSkippedSize()); + logHandler.log("Total score for test results: " + total); + }]]> + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/jacoco.xml b/src/test/resources/io/jenkins/plugins/grading/jacoco.xml new file mode 100644 index 00000000..c9a3291b --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/jacoco.xml @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/mutations.xml b/src/test/resources/io/jenkins/plugins/grading/mutations.xml new file mode 100644 index 00000000..b2336cc0 --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/mutations.xml @@ -0,0 +1,2725 @@ + + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + createCoverageScore + + (Lio/jenkins/plugins/coverage/CoverageAction;Lio/jenkins/plugins/grading/CoverageConfiguration;Lio/jenkins/plugins/coverage/targets/CoverageElement;)Lio/jenkins/plugins/grading/CoverageScore; + + 158 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 13 + 4 + + replaced return value with null for io/jenkins/plugins/grading/AutoGrader::createCoverageScore + + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + getConfiguration + ()Ljava/lang/String; + 57 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + replaced return value with "" for io/jenkins/plugins/grading/AutoGrader::getConfiguration + + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + getDescriptor + ()Lio/jenkins/plugins/grading/AutoGrader$Descriptor; + 203 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 6 + 1 + + replaced return value with null for io/jenkins/plugins/grading/AutoGrader::getDescriptor + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeAnalysisResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 189 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 51 + 14 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeAnalysisResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 192 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 110 + 28 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeAnalysisResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 197 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 143 + 34 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 133 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 11 + 1 + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 138 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 34 + 9 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 142 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 70 + 16 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 146 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 101 + 22 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 151 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 140 + 28 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeCoverageResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 153 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 154 + 33 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradePitResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 113 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 11 + 1 + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradePitResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 118 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 34 + 9 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradePitResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 123 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 97 + 23 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradePitResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 126 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 111 + 28 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeTestResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 165 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 11 + 1 + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeTestResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 170 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 34 + 9 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeTestResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 175 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 97 + 23 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + gradeTestResults + + (Lhudson/model/Run;Lio/jenkins/plugins/grading/Score;Lnet/sf/json/JSONObject;Lio/jenkins/plugins/util/LogHandler;)V + + 178 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 111 + 28 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 71 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 43 + 5 + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 79 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 72 + 10 + + io.jenkins.plugins.grading.AutoGraderTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AutoGraderTest]/[method:shouldThrowNullPointerExceptionOnValidButNotCorrectConfiguration()] + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 87 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 101 + 15 + + io.jenkins.plugins.grading.AutoGraderTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AutoGraderTest]/[method:shouldThrowNullPointerExceptionOnValidButNotCorrectConfiguration()] + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 95 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 130 + 20 + + io.jenkins.plugins.grading.AutoGraderTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AutoGraderTest]/[method:shouldThrowNullPointerExceptionOnValidButNotCorrectConfiguration()] + + negated conditional + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 64 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 20 + 1 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 72 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 50 + 6 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 75 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 60 + 8 + + removed call to io/jenkins/plugins/grading/AutoGrader::gradeAnalysisResults + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 80 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 79 + 11 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 83 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 89 + 13 + + removed call to io/jenkins/plugins/grading/AutoGrader::gradeTestResults + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 88 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 108 + 16 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 91 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 118 + 18 + + removed call to io/jenkins/plugins/grading/AutoGrader::gradeCoverageResults + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 96 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 137 + 21 + + removed call to io/jenkins/plugins/util/LogHandler::log + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 99 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 147 + 23 + + removed call to io/jenkins/plugins/grading/AutoGrader::gradePitResults + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader + perform + (Lhudson/model/Run;Lhudson/FilePath;Lhudson/Launcher;Lhudson/model/TaskListener;)V + + 102 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 157 + 25 + + removed call to hudson/model/Run::addAction + + + Score.java + io.jenkins.plugins.grading.Score + addAnalysisTotal + (Lio/jenkins/plugins/grading/AnalysisConfiguration;Ljava/util/List;)I + 126 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 36 + 7 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + Replaced integer addition with subtraction + + + Score.java + io.jenkins.plugins.grading.Score + addAnalysisTotal + (Lio/jenkins/plugins/grading/AnalysisConfiguration;Ljava/util/List;)I + 129 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 50 + 10 + + replaced int return with 0 for io/jenkins/plugins/grading/Score::addAnalysisTotal + + + Score.java + io.jenkins.plugins.grading.Score + addCoverageTotal + + (Lio/jenkins/plugins/grading/CoverageConfiguration;[Lio/jenkins/plugins/grading/CoverageScore;)I + + 165 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 26 + 4 + + replaced int return with 0 for io/jenkins/plugins/grading/Score::addCoverageTotal + + + Score.java + io.jenkins.plugins.grading.Score + addPitTotal + (Lio/jenkins/plugins/grading/PitConfiguration;Lio/jenkins/plugins/grading/PitScore;)I + + 191 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 21 + 4 + + replaced int return with 0 for io/jenkins/plugins/grading/Score::addPitTotal + + + Score.java + io.jenkins.plugins.grading.Score + addTestsTotal + (Lio/jenkins/plugins/grading/TestConfiguration;Lio/jenkins/plugins/grading/TestScore;)I + + 146 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 21 + 4 + + replaced int return with 0 for io/jenkins/plugins/grading/Score::addTestsTotal + + + Score.java + io.jenkins.plugins.grading.Score + aggregateDelta + ([Lio/jenkins/plugins/grading/CoverageScore;)I + 172 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 28 + 3 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateCoverage()] + + Replaced integer addition with subtraction + + + Score.java + io.jenkins.plugins.grading.Score + aggregateDelta + ([Lio/jenkins/plugins/grading/CoverageScore;)I + 174 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 38 + 4 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateCoverage()] + + replaced int return with 0 for io/jenkins/plugins/grading/Score::aggregateDelta + + + Score.java + io.jenkins.plugins.grading.Score + getAchieved + ()I + 42 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced int return with 0 for io/jenkins/plugins/grading/Score::getAchieved + + + Score.java + io.jenkins.plugins.grading.Score + getAnalysisConfiguration + ()Lio/jenkins/plugins/grading/AnalysisConfiguration; + 79 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with null for io/jenkins/plugins/grading/Score::getAnalysisConfiguration + + + + Score.java + io.jenkins.plugins.grading.Score + getAnalysisScores + ()Ljava/util/List; + 83 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with Collections.emptyList for + io/jenkins/plugins/grading/Score::getAnalysisScores + + + + Score.java + io.jenkins.plugins.grading.Score + getCoverageConfiguration + ()Lio/jenkins/plugins/grading/CoverageConfiguration; + 95 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateCoverage()] + + replaced return value with null for io/jenkins/plugins/grading/Score::getCoverageConfiguration + + + + Score.java + io.jenkins.plugins.grading.Score + getCoverageScores + ()Ljava/util/List; + 99 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with Collections.emptyList for + io/jenkins/plugins/grading/Score::getCoverageScores + + + + Score.java + io.jenkins.plugins.grading.Score + getPitConfiguration + ()Lio/jenkins/plugins/grading/PitConfiguration; + 103 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced return value with null for io/jenkins/plugins/grading/Score::getPitConfiguration + + + Score.java + io.jenkins.plugins.grading.Score + getPitScores + ()Ljava/util/List; + 107 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with Collections.emptyList for io/jenkins/plugins/grading/Score::getPitScores + + + + Score.java + io.jenkins.plugins.grading.Score + getRatio + ()I + 60 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 6 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + Replaced integer multiplication with division + + + Score.java + io.jenkins.plugins.grading.Score + getRatio + ()I + 60 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 9 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + Replaced integer division with multiplication + + + Score.java + io.jenkins.plugins.grading.Score + getRatio + ()I + 60 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 10 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + replaced int return with 0 for io/jenkins/plugins/grading/Score::getRatio + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 69 + org.pitest.mutationtest.engine.gregor.mutators.ConditionalsBoundaryMutator + 6 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + changed conditional boundary + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 72 + org.pitest.mutationtest.engine.gregor.mutators.ConditionalsBoundaryMutator + 17 + 4 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + changed conditional boundary + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 70 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 10 + 2 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with "" for io/jenkins/plugins/grading/Score::getStyle + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 73 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 21 + 5 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + replaced return value with "" for io/jenkins/plugins/grading/Score::getStyle + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 75 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 26 + 6 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + replaced return value with "" for io/jenkins/plugins/grading/Score::getStyle + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 69 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 6 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + negated conditional + + + Score.java + io.jenkins.plugins.grading.Score + getStyle + ()Ljava/lang/String; + 72 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 17 + 4 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + negated conditional + + + Score.java + io.jenkins.plugins.grading.Score + getTestConfiguration + ()Lio/jenkins/plugins/grading/TestConfiguration; + 87 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateTests()] + + replaced return value with null for io/jenkins/plugins/grading/Score::getTestConfiguration + + + + Score.java + io.jenkins.plugins.grading.Score + getTestScores + ()Ljava/util/List; + 91 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateWithAllConfigurations()] + + replaced return value with Collections.emptyList for io/jenkins/plugins/grading/Score::getTestScores + + + + Score.java + io.jenkins.plugins.grading.Score + getTotal + ()I + 51 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced int return with 0 for io/jenkins/plugins/grading/Score::getTotal + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 198 + org.pitest.mutationtest.engine.gregor.mutators.ConditionalsBoundaryMutator + 12 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + changed conditional boundary + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 195 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 7 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + Replaced integer addition with subtraction + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 199 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 18 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + Replaced integer addition with subtraction + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 204 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 37 + 5 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + Replaced integer addition with subtraction + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 198 + org.pitest.mutationtest.engine.gregor.mutators.NegateConditionalsMutator + 12 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + negated conditional + + + Score.java + io.jenkins.plugins.grading.Score + updateScore + (II)I + 206 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 42 + 5 + + replaced int return with 0 for io/jenkins/plugins/grading/Score::updateScore + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + <init> + + (Ljava/lang/String;Lio/jenkins/plugins/grading/AnalysisConfiguration;Lio/jenkins/plugins/analysis/core/model/AnalysisResult;)V + + 37 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 9 + 2 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + removed call to edu/hm/hafner/util/Ensure$StringCondition::isNotEmpty + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + <init> + + (Ljava/lang/String;Lio/jenkins/plugins/grading/AnalysisConfiguration;Lio/jenkins/plugins/analysis/core/model/AnalysisResult;)V + + 38 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 15 + 5 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + removed call to edu/hm/hafner/util/Ensure$StringCondition::isNotEmpty + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 55 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 12 + 1 + + Replaced integer multiplication with division + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 55 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 13 + 1 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + Replaced integer addition with subtraction + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 56 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 22 + 2 + + Replaced integer multiplication with division + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 56 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 23 + 2 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + Replaced integer addition with subtraction + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 57 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 32 + 3 + + Replaced integer multiplication with division + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 57 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 33 + 3 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + Replaced integer addition with subtraction + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 58 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 42 + 4 + + Replaced integer multiplication with division + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 58 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 43 + 4 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + Replaced integer addition with subtraction + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + computeImpact + (Lio/jenkins/plugins/grading/AnalysisConfiguration;)I + 60 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 48 + 4 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::computeImpact + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getErrorsSize + ()I + 76 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getErrorsSize + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getHighPrioritySize + ()I + 80 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getHighPrioritySize + + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getId + ()Ljava/lang/String; + 64 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced return value with "" for io/jenkins/plugins/grading/AnalysisScore::getId + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getLowPrioritySize + ()I + 88 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getLowPrioritySize + + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getName + ()Ljava/lang/String; + 68 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced return value with "" for io/jenkins/plugins/grading/AnalysisScore::getName + + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getNormalPrioritySize + ()I + 84 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldReturnPositiveParams()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getNormalPrioritySize + + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getTotalImpact + ()I + 72 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldCalculate()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getTotalImpact + + + AnalysisScore.java + io.jenkins.plugins.grading.AnalysisScore + getTotalSize + ()I + 92 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisScore::getTotalSize + + + PitScore.java + io.jenkins.plugins.grading.PitScore + <init> + + (Lio/jenkins/plugins/grading/PitConfiguration;Lorg/jenkinsci/plugins/pitmutation/PitBuildAction;)V + + 37 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 34 + 8 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer subtraction with addition + + + PitScore.java + io.jenkins.plugins.grading.PitScore + <init> + + (Lio/jenkins/plugins/grading/PitConfiguration;Lorg/jenkinsci/plugins/pitmutation/PitBuildAction;)V + + 38 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 43 + 8 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer multiplication with division + + + PitScore.java + io.jenkins.plugins.grading.PitScore + <init> + + (Lio/jenkins/plugins/grading/PitConfiguration;Lorg/jenkinsci/plugins/pitmutation/PitBuildAction;)V + + 38 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 46 + 8 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer division with multiplication + + + PitScore.java + io.jenkins.plugins.grading.PitScore + <init> + + (Lio/jenkins/plugins/grading/PitConfiguration;Lorg/jenkinsci/plugins/pitmutation/PitBuildAction;)V + + 38 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 47 + 8 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer subtraction with addition + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 46 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 12 + 1 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + Replaced integer multiplication with division + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 46 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 13 + 1 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + Replaced integer addition with subtraction + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 47 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 22 + 2 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + Replaced integer multiplication with division + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 47 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 23 + 2 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + Replaced integer addition with subtraction + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 48 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 32 + 3 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer multiplication with division + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 48 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 33 + 3 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + Replaced integer addition with subtraction + + + PitScore.java + io.jenkins.plugins.grading.PitScore + computeImpact + (Lio/jenkins/plugins/grading/PitConfiguration;)I + 50 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 38 + 3 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::computeImpact + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getDetectedSize + ()I + 70 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::getDetectedSize + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getId + ()Ljava/lang/String; + 54 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced return value with "" for io/jenkins/plugins/grading/PitScore::getId + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getMutationsSize + ()I + 62 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::getMutationsSize + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getRatio + ()I + 74 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::getRatio + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getTotalImpact + ()I + 58 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::getTotalImpact + + + PitScore.java + io.jenkins.plugins.grading.PitScore + getUndetectedSize + ()I + 66 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitScore::getUndetectedSize + + + TestScore.java + io.jenkins.plugins.grading.TestScore + <init> + (Lio/jenkins/plugins/grading/TestConfiguration;Lhudson/tasks/junit/TestResultAction;)V + + 36 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 36 + 5 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + Replaced integer subtraction with addition + + + TestScore.java + io.jenkins.plugins.grading.TestScore + <init> + (Lio/jenkins/plugins/grading/TestConfiguration;Lhudson/tasks/junit/TestResultAction;)V + + 36 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 39 + 5 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#1] + + Replaced integer subtraction with addition + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 43 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 12 + 1 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#5] + + Replaced integer multiplication with division + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 43 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 13 + 1 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#1] + + Replaced integer addition with subtraction + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 44 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 22 + 2 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#5] + + Replaced integer multiplication with division + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 44 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 23 + 2 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + Replaced integer addition with subtraction + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 45 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 32 + 3 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#5] + + Replaced integer multiplication with division + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 45 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 33 + 3 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#1] + + Replaced integer addition with subtraction + + + TestScore.java + io.jenkins.plugins.grading.TestScore + computeImpact + (Lio/jenkins/plugins/grading/TestConfiguration;)I + 47 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 38 + 3 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::computeImpact + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getFailedSize + ()I + 67 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::getFailedSize + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getId + ()Ljava/lang/String; + 51 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#5] + + replaced return value with "" for io/jenkins/plugins/grading/TestScore::getId + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getPassedSize + ()I + 59 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#1] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::getPassedSize + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getSkippedSize + ()I + 71 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#1] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::getSkippedSize + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getTotalImpact + ()I + 55 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::getTotalImpact + + + TestScore.java + io.jenkins.plugins.grading.TestScore + getTotalSize + ()I + 63 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[test-template:shouldComputeTestScoreWith(io.jenkins.plugins.grading.TestConfiguration, + hudson.tasks.junit.TestResultAction, int)]/[test-template-invocation:#6] + + replaced int return with 0 for io/jenkins/plugins/grading/TestScore::getTotalSize + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + <init> + + (Ljava/lang/String;Lio/jenkins/plugins/grading/CoverageConfiguration;Lio/jenkins/plugins/coverage/targets/Ratio;)V + + 34 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 22 + 3 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + Replaced integer subtraction with addition + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + computeImpact + (Lio/jenkins/plugins/grading/CoverageConfiguration;)I + 42 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 12 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateCoverage()] + + Replaced integer multiplication with division + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + computeImpact + (Lio/jenkins/plugins/grading/CoverageConfiguration;)I + 42 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 13 + 1 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + Replaced integer addition with subtraction + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + computeImpact + (Lio/jenkins/plugins/grading/CoverageConfiguration;)I + 43 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 22 + 2 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpact()] + + Replaced integer multiplication with division + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + computeImpact + (Lio/jenkins/plugins/grading/CoverageConfiguration;)I + 43 + org.pitest.mutationtest.engine.gregor.mutators.MathMutator + 23 + 2 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpact()] + + Replaced integer addition with subtraction + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + computeImpact + (Lio/jenkins/plugins/grading/CoverageConfiguration;)I + 45 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 28 + 2 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageScore::computeImpact + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + getCoveredSize + ()I + 57 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageScore::getCoveredSize + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + getMissedSize + ()I + 61 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageScore::getMissedSize + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + getName + ()Ljava/lang/String; + 49 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldGetProperties()] + + replaced return value with "" for io/jenkins/plugins/grading/CoverageScore::getName + + + + CoverageScore.java + io.jenkins.plugins.grading.CoverageScore + getTotalImpact + ()I + 53 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageScore::getTotalImpact + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + createProjectAction + ()Lio/jenkins/plugins/grading/AutoGradingJobAction; + 44 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 3 + + replaced return value with null for + io/jenkins/plugins/grading/AutoGradingBuildAction::createProjectAction + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + createXmlStream + ()Lio/jenkins/plugins/grading/ScoreXmlStream; + 39 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 6 + 1 + + replaced return value with null for + io/jenkins/plugins/grading/AutoGradingBuildAction::createXmlStream + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getAchieved + ()I + 79 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 7 + 2 + + replaced int return with 0 for io/jenkins/plugins/grading/AutoGradingBuildAction::getAchieved + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getBuildResultBaseName + ()Ljava/lang/String; + 49 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 0 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingBuildAction::getBuildResultBaseName + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getDisplayName + ()Ljava/lang/String; + 59 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 1 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingBuildAction::getDisplayName + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getIconFileName + ()Ljava/lang/String; + 54 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 0 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingBuildAction::getIconFileName + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getTarget + ()Ljava/lang/Object; + 69 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 11 + 3 + + replaced return value with null for io/jenkins/plugins/grading/AutoGradingBuildAction::getTarget + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getTotal + ()I + 84 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 7 + 2 + + replaced int return with 0 for io/jenkins/plugins/grading/AutoGradingBuildAction::getTotal + + + + AutoGradingBuildAction.java + io.jenkins.plugins.grading.AutoGradingBuildAction + getUrlName + ()Ljava/lang/String; + 74 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 0 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingBuildAction::getUrlName + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + build + ()Lio/jenkins/plugins/grading/AnalysisConfiguration; + 156 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 17 + 2 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::build + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + setErrorImpact + (I)Lio/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder; + + 108 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::setErrorImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + setHighImpact + (I)Lio/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder; + + 121 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::setHighImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + setLowImpact + (I)Lio/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder; + + 147 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::setLowImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + setMaxScore + (I)Lio/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder; + + 95 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldSumAnalysisConfiguration()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::setMaxScore + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration$AnalysisConfigurationBuilder + setNormalImpact + (I)Lio/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder; + + 134 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldThrowExceptionWhenNameIsNull()] + + replaced return value with null for + io/jenkins/plugins/grading/AnalysisConfiguration$AnalysisConfigurationBuilder::setNormalImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration + from + (Lnet/sf/json/JSONObject;)Lio/jenkins/plugins/grading/AnalysisConfiguration; + 28 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldConvertFromJson()] + + replaced return value with null for io/jenkins/plugins/grading/AnalysisConfiguration::from + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration + getErrorImpact + ()I + 49 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisConfiguration::getErrorImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration + getHighImpact + ()I + 58 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisConfiguration::getHighImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration + getLowImpact + ()I + 81 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisConfiguration::getLowImpact + + + + AnalysisConfiguration.java + io.jenkins.plugins.grading.AnalysisConfiguration + getNormalImpact + ()I + 67 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.AnalysisScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.AnalysisScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/AnalysisConfiguration::getNormalImpact + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration$PitConfigurationBuilder + build + ()Lio/jenkins/plugins/grading/PitConfiguration; + 130 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 15 + 2 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced return value with null for + io/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder::build + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration$PitConfigurationBuilder + setDetectedImpact + (I)Lio/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder; + 108 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced return value with null for + io/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder::setDetectedImpact + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration$PitConfigurationBuilder + setMaxScore + (I)Lio/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder; + 82 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced return value with null for + io/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder::setMaxScore + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration$PitConfigurationBuilder + setRatioImpact + (I)Lio/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder; + 121 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + replaced return value with null for + io/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder::setRatioImpact + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration$PitConfigurationBuilder + setUndetectedImpact + (I)Lio/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder; + 95 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced return value with null for + io/jenkins/plugins/grading/PitConfiguration$PitConfigurationBuilder::setUndetectedImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration$TestConfigurationBuilder + build + ()Lio/jenkins/plugins/grading/TestConfiguration; + 130 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 15 + 2 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateTests()] + + replaced return value with null for + io/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder::build + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration$TestConfigurationBuilder + setFailureImpact + (I)Lio/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder; + 108 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateTests()] + + replaced return value with null for + io/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder::setFailureImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration$TestConfigurationBuilder + setMaxScore + (I)Lio/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder; + 82 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateTests()] + + replaced return value with null for + io/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder::setMaxScore + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration$TestConfigurationBuilder + setPassedImpact + (I)Lio/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder; + 121 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + replaced return value with null for + io/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder::setPassedImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration$TestConfigurationBuilder + setSkippedImpact + (I)Lio/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder; + 95 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + replaced return value with null for + io/jenkins/plugins/grading/TestConfiguration$TestConfigurationBuilder::setSkippedImpact + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration$CoverageConfigurationBuilder + build + ()Lio/jenkins/plugins/grading/CoverageConfiguration; + 104 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 13 + 2 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced return value with null for + io/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder::build + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration$CoverageConfigurationBuilder + setCoveredImpact + (I)Lio/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder; + + 82 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced return value with null for + io/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder::setCoveredImpact + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration$CoverageConfigurationBuilder + setMaxScore + (I)Lio/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder; + + 69 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdateCoverage()] + + replaced return value with null for + io/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder::setMaxScore + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration$CoverageConfigurationBuilder + setMissedImpact + (I)Lio/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder; + + 95 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced return value with null for + io/jenkins/plugins/grading/CoverageConfiguration$CoverageConfigurationBuilder::setMissedImpact + + + + Messages.java + io.jenkins.plugins.grading.Messages + Action_Name + ()Ljava/lang/String; + 35 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 8 + 1 + + replaced return value with "" for io/jenkins/plugins/grading/Messages::Action_Name + + + + Messages.java + io.jenkins.plugins.grading.Messages + Step_Name + ()Ljava/lang/String; + 55 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 8 + 1 + + replaced return value with "" for io/jenkins/plugins/grading/Messages::Step_Name + + + Messages.java + io.jenkins.plugins.grading.Messages + _Action_Name + ()Lorg/jvnet/localizer/Localizable; + 45 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 10 + 1 + + replaced return value with null for io/jenkins/plugins/grading/Messages::_Action_Name + + + Messages.java + io.jenkins.plugins.grading.Messages + _Step_Name + ()Lorg/jvnet/localizer/Localizable; + 65 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 10 + 1 + + replaced return value with null for io/jenkins/plugins/grading/Messages::_Step_Name + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration + from + (Lnet/sf/json/JSONObject;)Lio/jenkins/plugins/grading/PitConfiguration; + 25 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + replaced return value with null for io/jenkins/plugins/grading/PitConfiguration::from + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration + getDetectedImpact + ()I + 55 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitConfiguration::getDetectedImpact + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration + getRatioImpact + ()I + 64 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldCalculateRatioImpacts()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitConfiguration::getRatioImpact + + + + PitConfiguration.java + io.jenkins.plugins.grading.PitConfiguration + getUndetectedImpact + ()I + 46 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.PitScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.PitScoreTest]/[method:shouldGetProperties()] + + replaced int return with 0 for io/jenkins/plugins/grading/PitConfiguration::getUndetectedImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration + from + (Lnet/sf/json/JSONObject;)Lio/jenkins/plugins/grading/TestConfiguration; + 25 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[method:shouldConvertFromJson()] + + replaced return value with null for io/jenkins/plugins/grading/TestConfiguration::from + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration + getFailureImpact + ()I + 55 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/TestConfiguration::getFailureImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration + getPassedImpact + ()I + 64 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/TestConfiguration::getPassedImpact + + + + TestConfiguration.java + io.jenkins.plugins.grading.TestConfiguration + getSkippedImpact + ()I + 46 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/TestConfiguration::getSkippedImpact + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration + from + (Lnet/sf/json/JSONObject;)Lio/jenkins/plugins/grading/CoverageConfiguration; + 24 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 7 + 1 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldInitializeWithDefault()] + + replaced return value with null for io/jenkins/plugins/grading/CoverageConfiguration::from + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration + getCoveredImpact + ()I + 43 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageConfiguration::getCoveredImpact + + + + CoverageConfiguration.java + io.jenkins.plugins.grading.CoverageConfiguration + getMissedImpact + ()I + 52 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.CoverageScoreTests.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.CoverageScoreTests]/[method:shouldCalculateTotalImpactWithZeroCoveredImpact()] + + replaced int return with 0 for io/jenkins/plugins/grading/CoverageConfiguration::getMissedImpact + + + + AutoGradingViewModel.java + io.jenkins.plugins.grading.AutoGradingViewModel + getDisplayName + ()Ljava/lang/String; + 37 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 1 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingViewModel::getDisplayName + + + + AutoGradingViewModel.java + io.jenkins.plugins.grading.AutoGradingViewModel + getOwner + ()Lhudson/model/Run; + 32 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + replaced return value with null for io/jenkins/plugins/grading/AutoGradingViewModel::getOwner + + + + AutoGradingViewModel.java + io.jenkins.plugins.grading.AutoGradingViewModel + getScore + ()Lio/jenkins/plugins/grading/Score; + 41 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 5 + 0 + + replaced return value with null for io/jenkins/plugins/grading/AutoGradingViewModel::getScore + + + + AutoGradingJobAction.java + io.jenkins.plugins.grading.AutoGradingJobAction + getDisplayName + ()Ljava/lang/String; + 33 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 1 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingJobAction::getDisplayName + + + + AutoGradingJobAction.java + io.jenkins.plugins.grading.AutoGradingJobAction + getIconFileName + ()Ljava/lang/String; + 39 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 0 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGradingJobAction::getIconFileName + + + + AutoGradingJobAction.java + io.jenkins.plugins.grading.AutoGradingJobAction + getUrlName + ()Ljava/lang/String; + 44 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 0 + + replaced return value with "" for io/jenkins/plugins/grading/AutoGradingJobAction::getUrlName + + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader$Descriptor + getDisplayName + ()Ljava/lang/String; + 214 + org.pitest.mutationtest.engine.gregor.mutators.EmptyObjectReturnValsMutator + 4 + 1 + + replaced return value with "" for + io/jenkins/plugins/grading/AutoGrader$Descriptor::getDisplayName + + + + AutoGrader.java + io.jenkins.plugins.grading.AutoGrader$Descriptor + isApplicable + (Ljava/lang/Class;)Z + 219 + org.pitest.mutationtest.engine.gregor.mutators.BooleanFalseReturnValsMutator + 4 + 0 + + replaced boolean return with false for io/jenkins/plugins/grading/AutoGrader$Descriptor::isApplicable + + + + Configuration.java + io.jenkins.plugins.grading.Configuration$ConfigurationBuilder + getMaxScore + ()I + 46 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced int return with 0 for + io/jenkins/plugins/grading/Configuration$ConfigurationBuilder::getMaxScore + + + + Configuration.java + io.jenkins.plugins.grading.Configuration$ConfigurationBuilder + setMaxScore + (I)Lio/jenkins/plugins/grading/Configuration$ConfigurationBuilder; + 42 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 9 + 0 + + io.jenkins.plugins.grading.ScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.ScoreTest]/[method:shouldUpdatePit()] + + replaced return value with null for + io/jenkins/plugins/grading/Configuration$ConfigurationBuilder::setMaxScore + + + + ScoreXmlStream.java + io.jenkins.plugins.grading.ScoreXmlStream + configureXStream + (Lhudson/util/XStream2;)V + 26 + org.pitest.mutationtest.engine.gregor.mutators.VoidMethodCallMutator + 6 + 0 + + removed call to hudson/util/XStream2::alias + + + ScoreXmlStream.java + io.jenkins.plugins.grading.ScoreXmlStream + createDefaultValue + ()Lio/jenkins/plugins/grading/Score; + 21 + org.pitest.mutationtest.engine.gregor.mutators.NullReturnValsMutator + 6 + 1 + + replaced return value with null for io/jenkins/plugins/grading/ScoreXmlStream::createDefaultValue + + + + Configuration.java + io.jenkins.plugins.grading.Configuration + getMaxScore + ()I + 20 + org.pitest.mutationtest.engine.gregor.mutators.PrimitiveReturnsMutator + 5 + 0 + + io.jenkins.plugins.grading.TestScoreTest.[engine:junit-jupiter]/[class:io.jenkins.plugins.grading.TestScoreTest]/[method:shouldConvertFromJson()] + + replaced int return with 0 for io/jenkins/plugins/grading/Configuration::getMaxScore + + \ No newline at end of file diff --git a/src/test/resources/io/jenkins/plugins/grading/pmd.xml b/src/test/resources/io/jenkins/plugins/grading/pmd.xml new file mode 100644 index 00000000..5c9d214c --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/pmd.xml @@ -0,0 +1,49 @@ + + + + +Consider using varargs for methods or constructors which take an array the last parameter. + + + + + + diff --git a/src/test/resources/io/jenkins/plugins/grading/spotbugs.xml b/src/test/resources/io/jenkins/plugins/grading/spotbugs.xml new file mode 100644 index 00000000..d67b555b --- /dev/null +++ b/src/test/resources/io/jenkins/plugins/grading/spotbugs.xml @@ -0,0 +1,17 @@ + +/var/data/workspace/Autograding/target/classes/var/data/workspace/Autograding/target/test-classes/var/data/workspace/Autograding/target/test-classes/var/data/m2repository/io/jenkins/plugins/plugin-util-api/1.0.2/plugin-util-api-1.0.2.jar/var/data/m2repository/edu/hm/hafner/codingstyle/1.0.2/codingstyle-1.0.2.jar/var/data/m2repository/org/apache/commons/commons-lang3/3.9/commons-lang3-3.9.jar/var/data/m2repository/org/jenkins-ci/plugins/junit/1.28/junit-1.28.jar/var/data/m2repository/org/jenkins-ci/plugins/structs/1.20/structs-1.20.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-step-api/2.20/workflow-step-api-2.20.jar/var/data/m2repository/org/jenkins-ci/plugins/script-security/1.66/script-security-1.66.jar/var/data/m2repository/org/kohsuke/groovy-sandbox/1.24/groovy-sandbox-1.24.jar/var/data/m2repository/com/github/ben-manes/caffeine/caffeine/2.7.0/caffeine-2.7.0.jar/var/data/m2repository/org/checkerframework/checker-qual/2.6.0/checker-qual-2.6.0.jar/var/data/m2repository/org/jenkins-ci/plugins/pitmutation/1.0-17/pitmutation-1.0-17.jar/var/data/m2repository/org/apache/commons/commons-digester3/3.2/commons-digester3-3.2.jar/var/data/m2repository/cglib/cglib/2.2.2/cglib-2.2.2.jar/var/data/m2repository/asm/asm/3.3.1/asm-3.3.1.jar/var/data/m2repository/io/jenkins/plugins/code-coverage-api/1.1.4/code-coverage-api-1.1.4.jar/var/data/m2repository/org/jenkins-ci/plugins/scm-api/2.6.3/scm-api-2.6.3.jar/var/data/m2repository/org/jenkins-ci/plugins/branch-api/2.5.4/branch-api-2.5.4.jar/var/data/m2repository/org/jenkins-ci/plugins/cloudbees-folder/6.9/cloudbees-folder-6.9.jar/var/data/m2repository/net/sf/trove4j/trove4j/3.0.3/trove4j-3.0.3.jar/var/data/m2repository/net/sf/saxon/Saxon-HE/9.9.1-4/Saxon-HE-9.9.1-4.jar/var/data/m2repository/org/jenkins-ci/plugins/jackson2-api/2.8.11.3/jackson2-api-2.8.11.3.jar/var/data/m2repository/com/fasterxml/jackson/datatype/jackson-datatype-jsr310/2.8.11/jackson-datatype-jsr310-2.8.11.jar/var/data/m2repository/com/fasterxml/jackson/module/jackson-module-jaxb-annotations/2.8.11/jackson-module-jaxb-annotations-2.8.11.jar/var/data/m2repository/io/jenkins/plugins/font-awesome-api/5.12.0-7/font-awesome-api-5.12.0-7.jar/var/data/m2repository/com/j2html/j2html/1.4.0/j2html-1.4.0.jar/var/data/m2repository/io/jenkins/plugins/bootstrap4-api/4.4.1-10/bootstrap4-api-4.4.1-10.jar/var/data/m2repository/io/jenkins/plugins/popper-api/1.16.0-6/popper-api-1.16.0-6.jar/var/data/m2repository/io/jenkins/plugins/jquery3-api/3.4.1-10/jquery3-api-3.4.1-10.jar/var/data/m2repository/io/jenkins/plugins/echarts-api/4.6.0-8/echarts-api-4.6.0-8.jar/var/data/m2repository/edu/hm/hafner/echarts-build-trends/1.0.1/echarts-build-trends-1.0.1.jar/var/data/m2repository/io/jenkins/plugins/data-tables-api/1.10.20-14/data-tables-api-1.10.20-14.jar/var/data/m2repository/com/fasterxml/jackson/core/jackson-databind/2.9.10.3/jackson-databind-2.9.10.3.jar/var/data/m2repository/com/fasterxml/jackson/core/jackson-annotations/2.9.10/jackson-annotations-2.9.10.jar/var/data/m2repository/com/fasterxml/jackson/core/jackson-core/2.9.10/jackson-core-2.9.10.jar/var/data/m2repository/io/jenkins/plugins/warnings-ng/8.1.0/warnings-ng-8.1.0.jar/var/data/m2repository/org/eclipse/collections/eclipse-collections-api/9.2.0/eclipse-collections-api-9.2.0.jar/var/data/m2repository/org/eclipse/collections/eclipse-collections/9.2.0/eclipse-collections-9.2.0.jar/var/data/m2repository/commons-io/commons-io/2.6/commons-io-2.6.jar/var/data/m2repository/org/apache/commons/commons-text/1.8/commons-text-1.8.jar/var/data/m2repository/net/minidev/json-smart/2.3/json-smart-2.3.jar/var/data/m2repository/net/minidev/accessors-smart/1.2/accessors-smart-1.2.jar/var/data/m2repository/net/sourceforge/pmd/pmd-core/6.21.0/pmd-core-6.21.0.jar/var/data/m2repository/org/antlr/antlr4-runtime/4.7/antlr4-runtime-4.7.jar/var/data/m2repository/com/beust/jcommander/1.72/jcommander-1.72.jar/var/data/m2repository/net/java/dev/javacc/javacc/5.0/javacc-5.0.jar/var/data/m2repository/com/google/code/gson/gson/2.8.5/gson-2.8.5.jar/var/data/m2repository/net/sourceforge/pmd/pmd-java/6.21.0/pmd-java-6.21.0.jar/var/data/m2repository/io/jenkins/plugins/analysis-model-api/8.0.1/analysis-model-api-8.0.1.jar/var/data/m2repository/edu/hm/hafner/analysis-model/8.0.1/analysis-model-8.0.1.jar/var/data/m2repository/se/bjurr/violations/violations-lib/1.110/violations-lib-1.110.jar/var/data/m2repository/org/jvnet/hudson/plugins/findbugs/library/6.0.3/library-6.0.3.jar/var/data/m2repository/org/json/json/20190722/json-20190722.jar/var/data/m2repository/org/jenkins-ci/plugins/antisamy-markup-formatter/1.5/antisamy-markup-formatter-1.5.jar/var/data/m2repository/org/kohsuke/owasp-html-sanitizer/r88/owasp-html-sanitizer-r88.jar/var/data/m2repository/org/jenkins-ci/plugins/credentials/2.3.0/credentials-2.3.0.jar/var/data/m2repository/org/jenkins-ci/plugins/apache-httpcomponents-client-4-api/4.5.10-2.0/apache-httpcomponents-client-4-api-4.5.10-2.0.jar/var/data/m2repository/org/apache/httpcomponents/httpclient/4.5.10/httpclient-4.5.10.jar/var/data/m2repository/org/apache/httpcomponents/httpcore/4.4.12/httpcore-4.4.12.jar/var/data/m2repository/org/apache/httpcomponents/httpmime/4.5.10/httpmime-4.5.10.jar/var/data/m2repository/org/apache/httpcomponents/fluent-hc/4.5.10/fluent-hc-4.5.10.jar/var/data/m2repository/org/apache/httpcomponents/httpclient-cache/4.5.10/httpclient-cache-4.5.10.jar/var/data/m2repository/org/apache/httpcomponents/httpasyncclient/4.1.4/httpasyncclient-4.1.4.jar/var/data/m2repository/org/apache/httpcomponents/httpcore-nio/4.4.10/httpcore-nio-4.4.10.jar/var/data/m2repository/org/apache/httpcomponents/httpasyncclient-cache/4.1.4/httpasyncclient-cache-4.1.4.jar/var/data/m2repository/io/jenkins/plugins/forensics-api/0.7.0/forensics-api-0.7.0.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-api/2.37/workflow-api-2.37.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-cps/2.76/workflow-cps-2.76.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-support/3.3/workflow-support-3.3.jar/var/data/m2repository/org/jboss/marshalling/jboss-marshalling-river/2.0.6.Final/jboss-marshalling-river-2.0.6.Final.jar/var/data/m2repository/org/jboss/marshalling/jboss-marshalling/2.0.6.Final/jboss-marshalling-2.0.6.Final.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-scm-step/2.9/workflow-scm-step-2.9.jar/var/data/m2repository/com/cloudbees/groovy-cps/1.31/groovy-cps-1.31.jar/var/data/m2repository/org/jenkins-ci/ui/jquery-detached/1.2.1/jquery-detached-1.2.1.jar/var/data/m2repository/org/jenkins-ci/ui/ace-editor/1.1/ace-editor-1.1.jar/var/data/m2repository/com/cloudbees/diff4j/1.2/diff4j-1.2.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-job/2.36/workflow-job-2.36.jar/var/data/m2repository/org/jenkins-ci/plugins/pipeline-stage-step/2.3/pipeline-stage-step-2.3.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-durable-task-step/2.28/workflow-durable-task-step-2.28.jar/var/data/m2repository/org/jenkins-ci/plugins/durable-task/1.30/durable-task-1.30.jar/var/data/m2repository/org/jenkins-ci/plugins/workflow/workflow-basic-steps/2.16.1/workflow-basic-steps-2.16.1.jar/var/data/m2repository/org/jenkins-ci/plugins/mailer/1.23/mailer-1.23.jar/var/data/m2repository/org/jenkins-ci/plugins/display-url-api/2.3.2/display-url-api-2.3.2.jar/var/data/m2repository/io/jenkins/plugins/plugin-util-api/1.0.2/plugin-util-api-1.0.2-tests.jar/var/data/m2repository/com/github/spotbugs/spotbugs-annotations/4.0.0/spotbugs-annotations-4.0.0.jar/var/data/m2repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar/var/data/m2repository/com/google/errorprone/error_prone_annotations/2.3.4/error_prone_annotations-2.3.4.jar/var/data/m2repository/org/junit/jupiter/junit-jupiter-api/5.6.0/junit-jupiter-api-5.6.0.jar/var/data/m2repository/org/apiguardian/apiguardian-api/1.1.0/apiguardian-api-1.1.0.jar/var/data/m2repository/org/opentest4j/opentest4j/1.2.0/opentest4j-1.2.0.jar/var/data/m2repository/org/junit/platform/junit-platform-commons/1.6.0/junit-platform-commons-1.6.0.jar/var/data/m2repository/org/junit/jupiter/junit-jupiter-engine/5.6.0/junit-jupiter-engine-5.6.0.jar/var/data/m2repository/org/junit/platform/junit-platform-engine/1.6.0/junit-platform-engine-1.6.0.jar/var/data/m2repository/org/junit/vintage/junit-vintage-engine/5.6.0/junit-vintage-engine-5.6.0.jar/var/data/m2repository/org/junit/platform/junit-platform-launcher/1.6.0/junit-platform-launcher-1.6.0.jar/var/data/m2repository/org/junit/jupiter/junit-jupiter-params/5.6.0/junit-jupiter-params-5.6.0.jar/var/data/m2repository/junit/junit/4.13/junit-4.13.jar/var/data/m2repository/org/hamcrest/hamcrest-core/2.2/hamcrest-core-2.2.jar/var/data/m2repository/org/mockito/mockito-core/3.3.1/mockito-core-3.3.1.jar/var/data/m2repository/net/bytebuddy/byte-buddy/1.10.5/byte-buddy-1.10.5.jar/var/data/m2repository/net/bytebuddy/byte-buddy-agent/1.10.5/byte-buddy-agent-1.10.5.jar/var/data/m2repository/org/objenesis/objenesis/3.1/objenesis-3.1.jar/var/data/m2repository/org/assertj/assertj-core/3.15.0/assertj-core-3.15.0.jar/var/data/m2repository/com/tngtech/archunit/archunit-junit5-api/0.13.1/archunit-junit5-api-0.13.1.jar/var/data/m2repository/com/tngtech/archunit/archunit/0.13.1/archunit-0.13.1.jar/var/data/m2repository/com/tngtech/archunit/archunit-junit5-engine/0.13.1/archunit-junit5-engine-0.13.1.jar/var/data/m2repository/com/tngtech/archunit/archunit-junit5-engine-api/0.13.1/archunit-junit5-engine-api-0.13.1.jar/var/data/m2repository/net/javacrumbs/json-unit/json-unit-assertj/2.14.0/json-unit-assertj-2.14.0.jar/var/data/m2repository/net/javacrumbs/json-unit/json-unit-core/2.14.0/json-unit-core-2.14.0.jar/var/data/m2repository/net/javacrumbs/json-unit/json-unit-json-path/2.14.0/json-unit-json-path-2.14.0.jar/var/data/m2repository/com/jayway/jsonpath/json-path/2.4.0/json-path-2.4.0.jar/var/data/m2repository/javax/servlet/javax.servlet-api/3.1.0/javax.servlet-api-3.1.0.jar/var/data/m2repository/org/jenkins-ci/main/jenkins-core/2.138.4/jenkins-core-2.138.4.jar/var/data/m2repository/org/jenkins-ci/plugins/icon-shim/icon-set/1.0.5/icon-set-1.0.5.jar/var/data/m2repository/org/jenkins-ci/main/remoting/3.25/remoting-3.25.jar/var/data/m2repository/org/jenkins-ci/constant-pool-scanner/1.2/constant-pool-scanner-1.2.jar/var/data/m2repository/org/jenkins-ci/main/cli/2.138.4/cli-2.138.4.jar/var/data/m2repository/org/jenkins-ci/version-number/1.4/version-number-1.4.jar/var/data/m2repository/org/jenkins-ci/crypto-util/1.1/crypto-util-1.1.jar/var/data/m2repository/org/jvnet/hudson/jtidy/4aug2000r7-dev-hudson-1/jtidy-4aug2000r7-dev-hudson-1.jar/var/data/m2repository/com/google/inject/guice/4.0/guice-4.0.jar/var/data/m2repository/javax/inject/javax.inject/1/javax.inject-1.jar/var/data/m2repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar/var/data/m2repository/org/jruby/ext/posix/jna-posix/1.0.3-jenkins-1/jna-posix-1.0.3-jenkins-1.jar/var/data/m2repository/com/github/jnr/jnr-posix/3.0.41/jnr-posix-3.0.41.jar/var/data/m2repository/com/github/jnr/jnr-ffi/2.1.4/jnr-ffi-2.1.4.jar/var/data/m2repository/com/github/jnr/jffi/1.2.15/jffi-1.2.15.jar/var/data/m2repository/com/github/jnr/jffi/1.2.15/jffi-1.2.15-native.jar/var/data/m2repository/org/ow2/asm/asm/5.0.4/asm-5.0.4.jar/var/data/m2repository/org/ow2/asm/asm-commons/5.0.3/asm-commons-5.0.3.jar/var/data/m2repository/org/ow2/asm/asm-analysis/5.0.3/asm-analysis-5.0.3.jar/var/data/m2repository/org/ow2/asm/asm-tree/5.0.3/asm-tree-5.0.3.jar/var/data/m2repository/org/ow2/asm/asm-util/5.0.3/asm-util-5.0.3.jar/var/data/m2repository/com/github/jnr/jnr-x86asm/1.0.2/jnr-x86asm-1.0.2.jar/var/data/m2repository/com/github/jnr/jnr-constants/0.9.8/jnr-constants-0.9.8.jar/var/data/m2repository/org/kohsuke/trilead-putty-extension/1.2/trilead-putty-extension-1.2.jar/var/data/m2repository/org/jenkins-ci/trilead-ssh2/build-217-jenkins-11/trilead-ssh2-build-217-jenkins-11.jar/var/data/m2repository/net/i2p/crypto/eddsa/0.2.0/eddsa-0.2.0.jar/var/data/m2repository/org/connectbot/jbcrypt/jbcrypt/1.0.0/jbcrypt-1.0.0.jar/var/data/m2repository/org/kohsuke/stapler/stapler-groovy/1.256/stapler-groovy-1.256.jar/var/data/m2repository/org/kohsuke/stapler/stapler-jelly/1.256/stapler-jelly-1.256.jar/var/data/m2repository/org/jenkins-ci/commons-jelly/1.1-jenkins-20120928/commons-jelly-1.1-jenkins-20120928.jar/var/data/m2repository/org/jenkins-ci/dom4j/dom4j/1.6.1-jenkins-4/dom4j-1.6.1-jenkins-4.jar/var/data/m2repository/org/kohsuke/stapler/stapler-jrebel/1.256/stapler-jrebel-1.256.jar/var/data/m2repository/org/kohsuke/stapler/stapler/1.256/stapler-1.256.jar/var/data/m2repository/javax/annotation/javax.annotation-api/1.2/javax.annotation-api-1.2.jar/var/data/m2repository/commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar/var/data/m2repository/org/jvnet/tiger-types/2.2/tiger-types-2.2.jar/var/data/m2repository/org/kohsuke/asm5/5.0.1/asm5-5.0.1.jar/var/data/m2repository/org/kohsuke/windows-package-checker/1.2/windows-package-checker-1.2.jar/var/data/m2repository/org/kohsuke/stapler/stapler-adjunct-zeroclipboard/1.3.5-1/stapler-adjunct-zeroclipboard-1.3.5-1.jar/var/data/m2repository/org/kohsuke/stapler/stapler-adjunct-timeline/1.5/stapler-adjunct-timeline-1.5.jar/var/data/m2repository/org/kohsuke/stapler/stapler-adjunct-codemirror/1.3/stapler-adjunct-codemirror-1.3.jar/var/data/m2repository/io/jenkins/stapler/jenkins-stapler-support/1.0/jenkins-stapler-support-1.0.jar/var/data/m2repository/com/infradna/tool/bridge-method-annotation/1.13/bridge-method-annotation-1.13.jar/var/data/m2repository/org/kohsuke/stapler/json-lib/2.4-jenkins-2/json-lib-2.4-jenkins-2.jar/var/data/m2repository/net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6.jar/var/data/m2repository/commons-httpclient/commons-httpclient/3.1-jenkins-1/commons-httpclient-3.1-jenkins-1.jar/var/data/m2repository/args4j/args4j/2.0.31/args4j-2.0.31.jar/var/data/m2repository/org/jenkins-ci/annotation-indexer/1.12/annotation-indexer-1.12.jar/var/data/m2repository/org/jenkins-ci/bytecode-compatibility-transformer/2.0-beta-2/bytecode-compatibility-transformer-2.0-beta-2.jar/var/data/m2repository/org/kohsuke/asm6/6.2/asm6-6.2.jar/var/data/m2repository/org/jenkins-ci/task-reactor/1.5/task-reactor-1.5.jar/var/data/m2repository/org/jvnet/localizer/localizer/1.24/localizer-1.24.jar/var/data/m2repository/antlr/antlr/2.7.6/antlr-2.7.6.jar/var/data/m2repository/org/jvnet/hudson/xstream/1.4.7-jenkins-1/xstream-1.4.7-jenkins-1.jar/var/data/m2repository/xpp3/xpp3/1.1.4c/xpp3-1.1.4c.jar/var/data/m2repository/net/sf/kxml/kxml2/2.3.0/kxml2-2.3.0.jar/var/data/m2repository/jfree/jfreechart/1.0.9/jfreechart-1.0.9.jar/var/data/m2repository/jfree/jcommon/1.0.12/jcommon-1.0.12.jar/var/data/m2repository/org/apache/ant/ant/1.9.2/ant-1.9.2.jar/var/data/m2repository/org/apache/ant/ant-launcher/1.9.2/ant-launcher-1.9.2.jar/var/data/m2repository/commons-lang/commons-lang/2.6/commons-lang-2.6.jar/var/data/m2repository/commons-digester/commons-digester/2.1/commons-digester-2.1.jar/var/data/m2repository/commons-beanutils/commons-beanutils/1.8.3/commons-beanutils-1.8.3.jar/var/data/m2repository/org/apache/commons/commons-compress/1.10/commons-compress-1.10.jar/var/data/m2repository/javax/mail/mail/1.4.4/mail-1.4.4.jar/var/data/m2repository/org/jvnet/hudson/activation/1.1.1-hudson-1/activation-1.1.1-hudson-1.jar/var/data/m2repository/jaxen/jaxen/1.1-beta-11/jaxen-1.1-beta-11.jar/var/data/m2repository/commons-jelly/commons-jelly-tags-fmt/1.0/commons-jelly-tags-fmt-1.0.jar/var/data/m2repository/commons-jelly/commons-jelly-tags-xml/1.1/commons-jelly-tags-xml-1.1.jar/var/data/m2repository/org/jvnet/hudson/commons-jelly-tags-define/1.0.1-hudson-20071021/commons-jelly-tags-define-1.0.1-hudson-20071021.jar/var/data/m2repository/org/jenkins-ci/commons-jexl/1.1-jenkins-20111212/commons-jexl-1.1-jenkins-20111212.jar/var/data/m2repository/org/acegisecurity/acegi-security/1.0.7/acegi-security-1.0.7.jar/var/data/m2repository/org/springframework/spring-jdbc/1.2.9/spring-jdbc-1.2.9.jar/var/data/m2repository/org/springframework/spring-dao/1.2.9/spring-dao-1.2.9.jar/var/data/m2repository/oro/oro/2.0.8/oro-2.0.8.jar/var/data/m2repository/log4j/log4j/1.2.17/log4j-1.2.17.jar/var/data/m2repository/org/codehaus/groovy/groovy-all/2.4.11/groovy-all-2.4.11.jar/var/data/m2repository/jline/jline/2.12/jline-2.12.jar/var/data/m2repository/org/fusesource/jansi/jansi/1.11/jansi-1.11.jar/var/data/m2repository/org/springframework/spring-webmvc/2.5.6.SEC03/spring-webmvc-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-beans/2.5.6.SEC03/spring-beans-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-context/2.5.6.SEC03/spring-context-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-context-support/2.5.6.SEC03/spring-context-support-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-web/2.5.6.SEC03/spring-web-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-core/2.5.6.SEC03/spring-core-2.5.6.SEC03.jar/var/data/m2repository/org/springframework/spring-aop/2.5.6.SEC03/spring-aop-2.5.6.SEC03.jar/var/data/m2repository/javax/servlet/jsp/jstl/javax.servlet.jsp.jstl-api/1.2.1/javax.servlet.jsp.jstl-api-1.2.1.jar/var/data/m2repository/com/sun/xml/txw2/txw2/20110809/txw2-20110809.jar/var/data/m2repository/javax/xml/stream/stax-api/1.0-2/stax-api-1.0-2.jar/var/data/m2repository/relaxngDatatype/relaxngDatatype/20020414/relaxngDatatype-20020414.jar/var/data/m2repository/commons-collections/commons-collections/3.2.2/commons-collections-3.2.2.jar/var/data/m2repository/org/jvnet/winp/winp/1.26/winp-1.26.jar/var/data/m2repository/org/jenkins-ci/memory-monitor/1.9/memory-monitor-1.9.jar/var/data/m2repository/org/codehaus/woodstox/wstx-asl/3.2.9/wstx-asl-3.2.9.jar/var/data/m2repository/stax/stax-api/1.0.1/stax-api-1.0.1.jar/var/data/m2repository/org/jenkins-ci/jmdns/3.4.0-jenkins-3/jmdns-3.4.0-jenkins-3.jar/var/data/m2repository/net/java/dev/jna/jna/4.5.2/jna-4.5.2.jar/var/data/m2repository/org/kohsuke/akuma/1.10/akuma-1.10.jar/var/data/m2repository/org/kohsuke/libpam4j/1.8/libpam4j-1.8.jar/var/data/m2repository/org/kohsuke/libzfs/0.8/libzfs-0.8.jar/var/data/m2repository/com/sun/solaris/embedded_su4j/1.1/embedded_su4j-1.1.jar/var/data/m2repository/net/java/sezpoz/sezpoz/1.12/sezpoz-1.12.jar/var/data/m2repository/org/kohsuke/jinterop/j-interop/2.0.6-kohsuke-1/j-interop-2.0.6-kohsuke-1.jar/var/data/m2repository/org/kohsuke/jinterop/j-interopdeps/2.0.6-kohsuke-1/j-interopdeps-2.0.6-kohsuke-1.jar/var/data/m2repository/org/samba/jcifs/jcifs/1.2.19/jcifs-1.2.19.jar/var/data/m2repository/org/jvnet/robust-http-client/robust-http-client/1.2/robust-http-client-1.2.jar/var/data/m2repository/org/jenkins-ci/symbol-annotation/1.20/symbol-annotation-1.20.jar/var/data/m2repository/commons-codec/commons-codec/1.9/commons-codec-1.9.jar/var/data/m2repository/commons-fileupload/commons-fileupload/1.3.1-jenkins-2/commons-fileupload-1.3.1-jenkins-2.jar/var/data/m2repository/com/google/guava/guava/11.0.1/guava-11.0.1.jar/var/data/m2repository/com/jcraft/jzlib/1.1.3-kohsuke-1/jzlib-1.1.3-kohsuke-1.jar/var/data/m2repository/org/jenkins-ci/main/jenkins-war/2.138.4/jenkins-war-2.138.4.war/var/data/m2repository/org/jenkins-ci/modules/instance-identity/2.2/instance-identity-2.2.jar/var/data/m2repository/io/github/stephenc/crypto/self-signed-cert-generator/1.0.0/self-signed-cert-generator-1.0.0.jar/var/data/m2repository/org/jenkins-ci/modules/ssh-cli-auth/1.4/ssh-cli-auth-1.4.jar/var/data/m2repository/org/jenkins-ci/modules/slave-installer/1.6/slave-installer-1.6.jar/var/data/m2repository/org/jenkins-ci/modules/windows-slave-installer/1.9.2/windows-slave-installer-1.9.2.jar/var/data/m2repository/org/jenkins-ci/modules/launchd-slave-installer/1.2/launchd-slave-installer-1.2.jar/var/data/m2repository/org/jenkins-ci/modules/upstart-slave-installer/1.1/upstart-slave-installer-1.1.jar/var/data/m2repository/org/jenkins-ci/modules/systemd-slave-installer/1.1/systemd-slave-installer-1.1.jar/var/data/m2repository/org/jenkins-ci/modules/sshd/2.4/sshd-2.4.jar/var/data/m2repository/org/apache/sshd/sshd-core/1.7.0/sshd-core-1.7.0.jar/var/data/m2repository/org/jenkins-ci/ui/jquery-detached/1.2.1/jquery-detached-1.2.1-core-assets.jar/var/data/m2repository/org/jenkins-ci/ui/bootstrap/1.3.2/bootstrap-1.3.2-core-assets.jar/var/data/m2repository/org/jenkins-ci/ui/handlebars/1.1.1/handlebars-1.1.1-core-assets.jar/var/data/m2repository/org/jenkins-ci/main/jenkins-test-harness/2.62/jenkins-test-harness-2.62.jar/var/data/m2repository/org/eclipse/jetty/jetty-webapp/9.4.26.v20200117/jetty-webapp-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-xml/9.4.26.v20200117/jetty-xml-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-util/9.4.26.v20200117/jetty-util-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-servlet/9.4.26.v20200117/jetty-servlet-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-security/9.4.26.v20200117/jetty-security-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-server/9.4.26.v20200117/jetty-server-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-io/9.4.26.v20200117/jetty-io-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/websocket/websocket-api/9.4.26.v20200117/websocket-api-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/websocket/websocket-server/9.4.26.v20200117/websocket-server-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/websocket/websocket-common/9.4.26.v20200117/websocket-common-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/websocket/websocket-client/9.4.26.v20200117/websocket-client-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-client/9.4.26.v20200117/jetty-client-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/websocket/websocket-servlet/9.4.26.v20200117/websocket-servlet-9.4.26.v20200117.jar/var/data/m2repository/org/eclipse/jetty/jetty-http/9.4.26.v20200117/jetty-http-9.4.26.v20200117.jar/var/data/m2repository/org/hamcrest/hamcrest/2.2/hamcrest-2.2.jar/var/data/m2repository/org/hamcrest/hamcrest-library/2.2/hamcrest-library-2.2.jar/var/data/m2repository/org/jenkins-ci/main/jenkins-test-harness-htmlunit/2.36.0-1/jenkins-test-harness-htmlunit-2.36.0-1.jar/var/data/m2repository/xalan/serializer/2.7.2/serializer-2.7.2.jar/var/data/m2repository/xml-apis/xml-apis/1.4.01/xml-apis-1.4.01.jar/var/data/m2repository/commons-net/commons-net/3.6/commons-net-3.6.jar/var/data/m2repository/org/brotli/dec/0.1.2/dec-0.1.2.jar/var/data/m2repository/org/jvnet/hudson/embedded-rhino-debugger/1.2/embedded-rhino-debugger-1.2.jar/var/data/m2repository/io/jenkins/lib/support-log-formatter/1.0/support-log-formatter-1.0.jar/var/data/m2repository/org/netbeans/modules/org-netbeans-insane/RELEASE111/org-netbeans-insane-RELEASE111.jar/var/data/m2repository/org/openjdk/jmh/jmh-core/1.23/jmh-core-1.23.jar/var/data/m2repository/net/sf/jopt-simple/jopt-simple/4.6/jopt-simple-4.6.jar/var/data/m2repository/org/apache/commons/commons-math3/3.2/commons-math3-3.2.jar/var/data/m2repository/org/openjdk/jmh/jmh-generator-annprocess/1.23/jmh-generator-annprocess-1.23.jar/var/data/m2repository/org/jenkins-ci/test-annotations/1.3/test-annotations-1.3.jar/var/data/m2repository/net/jcip/jcip-annotations/1.0/jcip-annotations-1.0.jar/var/data/m2repository/org/codehaus/mojo/animal-sniffer-annotations/1.18/animal-sniffer-annotations-1.18.jar/var/data/m2repository/org/slf4j/log4j-over-slf4j/1.7.25/log4j-over-slf4j-1.7.25.jar/var/data/m2repository/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar/var/data/m2repository/org/slf4j/jcl-over-slf4j/1.7.25/jcl-over-slf4j-1.7.25.jar/var/data/m2repository/org/slf4j/slf4j-jdk14/1.7.25/slf4j-jdk14-1.7.25.jar/var/data/m2repository/org/kohsuke/access-modifier-annotation/1.16/access-modifier-annotation-1.16.jar/var/data/m2repository/commons-logging/commons-logging/1.2/commons-logging-1.2.jar/var/data/workspace/Autograding/src/main/java/var/data/workspace/Autograding/target/generated-sources/localizer/var/data/workspace/Autograding/target/generated-sources/annotations/var/data/workspace/Autograding/src/test/java/var/data/workspace/Autograding/target/generated-test-sources/injected/var/data/workspace/Autograding/target/generated-test-sources/groovy-stubs/var/data/workspace/Autograding/src/test/groovy/var/data/workspace/Autograding/target/generated-test-sources/assertj-assertions/var/data/workspace/Autograding/target/generated-test-sources/test-annotations/var/data/workspace/Autograding/targetPossible null pointer dereference due to return value of called methodPossible null pointer dereference in new io.jenkins.plugins.grading.PitScore(PitConfiguration, PitBuildAction) due to return value of called methodAt PitScore.java:[lines 32-74]In class io.jenkins.plugins.grading.PitScoreIn method new io.jenkins.plugins.grading.PitScore(PitConfiguration, PitBuildAction)Local variable stored in JVM register ?Stored at PitScore.java:[line 33]Known null at PitScore.java:[line 33]Private method is never calledPrivate method io.jenkins.plugins.grading.TestScoreTest.createTestConfigurationParameters() is never calledAt TestScoreTest.java:[lines 24-124]In class io.jenkins.plugins.grading.TestScoreTestIn method io.jenkins.plugins.grading.TestScoreTest.createTestConfigurationParameters()At TestScoreTest.java:[line 27]PerformanceDodgy codePossible null pointer dereference due to return value of called method
+ +<p> The return value from a method is dereferenced without a null check, +and the return value of that method is one that should generally be checked +for null. This may lead to a <code>NullPointerException</code> when the code is executed. +</p> + +
Private method is never called
+ +<p> This private method is never called. Although it is +possible that the method will be invoked through reflection, +it is more likely that the method is never used, and should be +removed. +</p> + +
Null pointer dereferencePrivate method is never calledcall
\ No newline at end of file