lucene-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Uwe Schindler (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (LUCENE-1769) Fix wrong clover analysis because of backwards-tests, upgrade clover to 2.4.3 or better
Date Wed, 05 Aug 2009 11:26:14 GMT

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

Uwe Schindler edited comment on LUCENE-1769 at 8/5/09 4:26 AM:
---------------------------------------------------------------

Hi Nick,

I will look into this at the end of the week, when you sent me the 2.6 snapshot build. My
problems are currently:
The tests are not directly  instumented (neither in core nor contrib nor bw). Currenty the
core classes and contrib classes are instrumented. The testcases are linked in clover-setup
via <testsources>, if I leave this out, I get 0% coverage. The backwards tests do not
appear in testsources. Because of that, the tests still call the instrumented classes, but
the coverage report shows no coverage. You can easily see this e.g. for the old HitCollector
backwards compatibility code. Also during running of the bw-tests, no additional files are
created during tests runs in the db folder.
If I add the bw-test cases with testsources to the clover config, the clover report mixes
the linkage of the tests together and you see sometimes 2 test with same name hitting the
same method and so on.
Is there a possibility to tell clover, that you do not want to explicitely link the testcases
of the backwards test and just measure coverage regardless of which class called the instrumented
classes? I do not know, why the calls from "unknown" tests are not counted for the coverage.

EDIT: If I run "ant test-tag" alone with a fresh created clover database, it seems to work.
It shows the coverage in the methods called by the tests, but the tests itsself do not appear
in the report (as it should be, because only the core tests are added to testsources). It
seems to be only a problem, when the backwards and core tests are both instrumented to the
same database. Maybe the equal testnames/classes lead to problems.

I will test this further on Friday, I have no time now, but I think, the problem seems to
be solveable. Maybe I had some misunderstanding in the clover report. I will compare then
the three different reports (core, backwards, core+backwards combined) for differences. Maybe
all is good :)

      was (Author: thetaphi):
    Hi Nick,

I will look into this at the end of the week, when you sent me the 2.6 snapshot build. My
problems are currently:
The tests are not directly  instumented (neither in core nor contrib nor bw). Currenty the
core classes and contrib classes are instrumented. The testcases are linked in clover-setup
via <testsources>, if I leave this out, I get 0% coverage. The backwards tests do not
appear in testsources. Because of that, the tests still call the instrumented classes, but
the coverage report shows no coverage. You can easily see this e.g. for the old HitCollector
backwards compatibility code. Also during running of the bw-tests, no additional files are
created during tests runs in the db folder.
If I add the bw-test cases with testsources to the clover config, the clover report mixes
the linkage of the tests together and you see sometimes 2 test with same name hitting the
same method and so on.
Is there a possibility to tell clover, that you do not want to explicitely link the testcases
of the backwards test and just measure coverage regardless of which class called the instrumented
classes? I do not know, why the calls from "unknown" tests are not counted for the coverage.
  
> 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: clover.license, 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-unsubscribe@lucene.apache.org
For additional commands, e-mail: java-dev-help@lucene.apache.org


Mime
View raw message