From 174dbd90ab3ffbaaceb07664d57649cefc06d97d Mon Sep 17 00:00:00 2001 From: Kevin Scaldeferri Date: Wed, 1 Feb 2017 21:59:47 -0800 Subject: [PATCH] Report 100% for empty Coverage objects If a section of code has no branches, we should report 100% branch coverage not 0% coverage. This prevents spurious threshold violations for such code. (This concern also applies to other coverage measures, although in practice I've only encountered this problem for branches.) Fixes JENKINS-25076 and JENKINS-29117 --- resources/test/multiple.png | Bin 18742 -> 16493 bytes .../hudson/plugins/jacoco/model/Coverage.java | 2 +- .../hudson/plugins/jacoco/CoverageTest.java | 4 ++-- .../jacoco/model/CoverageObjectGraphTest.java | 12 ++++++------ .../JaCoCoColumnTest.java | 8 ++++---- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/resources/test/multiple.png b/resources/test/multiple.png index 90e32a15fcd4ed668e8aa49fcfc7fad4a950da86..6e3edf54af12451cdfd39209864a7e35acd548af 100644 GIT binary patch literal 16493 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 literal 18742 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