[ http://jira.codehaus.org/browse/MCLOVER-46?page=comments#action_70590 ] 
            
Vincent Massol commented on MCLOVER-46:
---------------------------------------

Meghan,

It cannot report 100% if there are no test. This simply doesn't make any sense, 
sorry.

As for deciding whether to enable it or not, this is a Maven2 issue not one for 
the clover plugin. The current way to do this is to use the <pluginManagement> 
section to define the execution of clover:check. Then for each project where 
you want to run it, simply add

{code:xml}
<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-checkstyle-plugin</artifactId>
    </plugin>
  </plugins>
</build>
{code}

Of course if you can you should also define the pom snippet above in parent 
poms to prevent as many duplications as possible.

I'm going to close this issue as won't fix as I simply don't see how the clover 
plugin could solve it. If you have interfaces then it means you're producing a 
jar and it's simply too complex for the clover plugin to check whether it's a 
jar containing only interfaces or not.

Please continue to comment on the issue if you have an idea on how to implement 
this easily and more importantly in a generic manner.

Thanks
-Vincent

> Coverage reports are incorrect for interface only modules. 
> -----------------------------------------------------------
>
>                 Key: MCLOVER-46
>                 URL: http://jira.codehaus.org/browse/MCLOVER-46
>             Project: Maven 2.x Clover Plugin
>          Issue Type: Bug
>    Affects Versions: 2.2
>         Environment: ubuntu dapper drake. Maven 2.0, clover maven plugin 2.2
>            Reporter: Meghan Claire Pike
>
> Our projects require a coverage of at least 1% in order to force everyone to 
> at least think about testing. Unfortunately for interface only packages, (due 
> to seperation of concerns) clover just goes into a small spasm and dies. It's 
> output is like this: 
> Clover Version 1.3.12, built on February 08 2006
> loaded from: 
> <path...>.m2/repository/com/cenqua/clover/clover/1.3.12/clover-1.3.12.jar
> Academic License registered to EDINA. This license of Clover is provided to 
> support coursework at EDINA only.
> You have 29 day(s) before your Academic License expires.
> Updating database at 'target/clover/clover.db'
> Processing files at 1.4 source level.
> Instrumented 12 source files.
> ...
> [INFO] [clover:instrument {execution: default}]
> [INFO] [clover:check {execution: default}]
> [INFO] Checking for coverage of [1%] for database [target/clover/clover.db]
> WARN: No coverage data found for '<path to my api>/target/clover/clover.db'.
> [ERROR] Total coverage of   did not meet target of 1%
> [INFO] 
> ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] 
> ------------------------------------------------------------------------
> [INFO] Build failed to meet Clover coverage targets
> it doesn't even output 0% or anything like that, which seems to me to be a 
> bug. I think clover should maybe understand a little better that testing 
> api's doesn't make sense, and is quite difficult to do. I don't have any 
> testing classes whatsoever in the project, so it could be from that. But 
> clover should have some ability not to enforce coverage on interfaces. (Or 
> understand that they can't be tested except indirectly.)
> Thanks!

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to