From 2166351a8ac560510e132798d94ea8130f45bc5f Mon Sep 17 00:00:00 2001 From: Ulli Hafner Date: Thu, 14 Jul 2022 15:50:49 +0200 Subject: [PATCH] Fix NPE when line number is not present in model. Fixes https://github.com/jenkinsci/code-coverage-api-plugin/issues/426 --- .../jenkins/plugins/coverage/targets/CoverageResult.java | 2 +- .../jenkins/plugins/coverage/model/CoverageResultTest.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/plugin/src/main/java/io/jenkins/plugins/coverage/targets/CoverageResult.java b/plugin/src/main/java/io/jenkins/plugins/coverage/targets/CoverageResult.java index bccb5a033..ad3b965c3 100755 --- a/plugin/src/main/java/io/jenkins/plugins/coverage/targets/CoverageResult.java +++ b/plugin/src/main/java/io/jenkins/plugins/coverage/targets/CoverageResult.java @@ -828,7 +828,7 @@ public void addAdditionalProperty(final String propertyName, final String value) } public Set getAdditionalProperty(final String propertyName) { - return additionalProperties.get(propertyName); + return additionalProperties.getOrDefault(propertyName, Collections.emptySet()); } /** diff --git a/plugin/src/test/java/io/jenkins/plugins/coverage/model/CoverageResultTest.java b/plugin/src/test/java/io/jenkins/plugins/coverage/model/CoverageResultTest.java index b8a7b6791..f8bb16382 100644 --- a/plugin/src/test/java/io/jenkins/plugins/coverage/model/CoverageResultTest.java +++ b/plugin/src/test/java/io/jenkins/plugins/coverage/model/CoverageResultTest.java @@ -29,6 +29,13 @@ class CoverageResultTest extends AbstractCoverageTest { private static final CoverageElement SOURCE_FILE = CoverageElement.FILE; private static final CoverageElement CLASS_NAME = JavaCoverageReportAdapterDescriptor.CLASS; + @Test + void shouldNeverReturnNullForSets() throws CoverageException { + CoverageResult project = readReport("jacoco-codingstyle.xml"); + + assertThat(project.getAdditionalProperty("not-found")).isEmpty(); + } + @Test void shouldReadJaCoCoResult() throws CoverageException { CoverageResult project = readReport("jacoco-codingstyle.xml");