Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

clover2:check passes the build while clover2:log shows lower percentage value

Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 12, 2013

Imagine a following scenario:

  • clover2:check has targetPercentage="100%" set
  • build runs with clover2:log and clover2:check goals
  • clover2:check passes, but the clover2:log shows coverage lower than 100%

How could this happen?

1 answer

1 accepted

0 votes
Answer accepted
Marek Parfianowicz
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
November 12, 2013

A trick is that targetPercentage, statementPercentage, methodPercentage and conditionalPercentage all are being compared against actual project metrics using a numerical precision equal to a number of fractional digits set in these properties. A standard value rounding is used (BigDecimal.ROUND_HALF_EVEN).

For instance, if project's total code coverage is 99.9% and maven-clover2-plugin has a folowing setting:

<targetPercentage>100%</targetPercentage>

then the comparison is made using no fractional digits. Therefore, 99.9 is rounded to 100 and clover2:check passes the build.

Therefore, to reach exactly 100%, maven-clover2-plugin shall have:

<targetPercentage>100.000000%</targetPercentage>

(six digits is enough as project's coverage percentage metric is stored in float)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events