[ 
https://issues.apache.org/jira/browse/LUCENE-1769?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12737671#action_12737671
 ] 

Uwe Schindler commented on LUCENE-1769:
---------------------------------------

This discussion was on java-dev, I copy it here for completeness:

> : I didn't realize the nightly build runs the tests twice (with & w/o
> : clover); I agree, running only with clover seems fine?
> 
> i'm not caught up on this issue, but i happen to notice this comment in
> email.
> 
> the reason the tests are run twice is because in between the two runs we
> package up the jars.  clover instruments all the classes, so if we only
> ran hte tests once (w/clover), and then packaged the jars the nightly
> builds would include clover instrumented bytecode.
> 
> if you look at the old Jira issues about clover this is discussed there.
> 
> -Hoss

This is correct but still inefficient. The current workflow is:
- Checkout svn
- Build the source package with ant
- Build the maven artifacts (which compiles all classes)
- Then ant nightly is called, which builds the binary package and runs tests -> 
this could be optimized to only build the binary package
- ant clean 
- ant nightly with clover enabled -> This packages the binaries again, but does 
not copy them. This is also not the best. This step should simple do ant test 
with clover
- build the clover report

I only want to remove the call to the (I call it deprecated "nightly" target, 
which is a relict from the time before Hudson and replace by "package" in the 
first run and to "ant test" for the clover enabled version. The build would run 
two times faster.

> Fix wrong clover analysis because of backwards-tests, upgrade clover to 2.4.3 
> or better
> ---------------------------------------------------------------------------------------
>
>                 Key: LUCENE-1769
>                 URL: https://issues.apache.org/jira/browse/LUCENE-1769
>             Project: Lucene - Java
>          Issue Type: Bug
>          Components: Build
>    Affects Versions: 2.9
>            Reporter: Uwe Schindler
>         Attachments: LUCENE-1769.patch, LUCENE-1769.patch, 
> nicks-LUCENE-1769.patch
>
>
> This is a followup for 
> [http://www.lucidimagination.com/search/document/6248d6eafbe10ef4/build_failed_in_hudson_lucene_trunk_902]
> The problem with clover running on hudson is, that it does not instrument all 
> tests ran. The autodetection of clover 1.x is not able to find out which 
> files are the correct tests and only instruments the backwards test. Because 
> of this, the current coverage report is only from the backwards tests running 
> against the current Lucene JAR.
> You can see this, if you install clover and start the tests. During test-core 
> no clover data is added to the db, only when backwards-tests begin, new files 
> are created in the clover db folder.
> Clover 2.x supports a new ant task, <testsources> that can be used to specify 
> the files, that are the tests. It works here locally with clover 2.4.3 and 
> produces a really nice coverage report, also linking with test files work, it 
> tells which tests failed and so on.
> I will attach a patch, that changes common-build.xml to the new clover 
> version (other initialization resource) and tells clover where to find the 
> tests (using the test folder include/exclude properties).
> One problem with the current patch: It does *not* instrument the backwards 
> branch, so you see only coverage of the core/contrib tests. Getting the 
> coverage also from the backwards tests is not easy possible because of two 
> things:
> - the tag test dir is not easy to find out and add to <testsources> element 
> (there may be only one of them)
> - the test names in BW branch are identical to the trunk tests. This 
> completely corrupts the linkage between tests and code in the coverage report.
> In principle the best would be to generate a second coverage report for the 
> backwards branch with a separate clover DB. The attached patch does not 
> instrument the bw branch, it only does trunk tests.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: java-dev-h...@lucene.apache.org

Reply via email to