Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Devel-Cover CPAN distribution.

Report information
The Basics
Id: 14192
Status: resolved
Priority: 0/
Queue: Devel-Cover

People
Owner: Nobody in particular
Requestors: nadim [...] khemir.net
willert [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: (no value)
Fixed in: (no value)



Subject: Devel::Cover: ignoring extra everything
Devel::Cover: ignores subs, statement and branches. This has the unfortunate effect of giving me less coverage while I'm adding tests. The module is on CPAN and can be uses as a test. [nadim@khemir Text-Editor-Vip]$ ./Build testcover t/001_Text_Editor_Vip...............................ok t/002_Text_Editor_Vip_Buffer........................ok t/003_Text_Editor_Vip_Selection.....................ok t/004_Text_Editor_Vip_CommandBlock..................ok t/005_Text_Editor_Vip_Buffer_DoUndoRedo.............ok t/006_Text_Editor_Vip_View..........................ok t/007_Text_Editor_Vip_Buffer_List...................ok t/008_Text_Editor_Vip_Buffer_Plugins_Display........ok t/009_Text_Editor_Vip_Buffer_Plugins_File...........ok t/010_Text_Editor_Vip_Buffer_Plugins_Case...........ok t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace....ok 51/79 # Failed (TODO) test (t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace.t at line 174) t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace....ok 77/79 t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace....ok 78/79# Failed (TODO) test (t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace.t at line 262) t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace....ok 79/79# Failed (TODO) test (t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace.t at line 265) t/011_Text_Editor_Vip_Buffer_Plugins_FindReplace....ok t/012_Text_Editor_Vip_Buffer_Plugins_GetWord........ok t/013_Text_Editor_Vip_Buffer_Selection..............ok All tests successful. Files=13, Tests=316, 32 wallclock secs (26.92 cusr + 3.68 csys = 30.60 CPU) cover Reading database from /devel/perl_modules/Text-Editor-Vip/cover_db Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Selection.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Plugins/Display.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Plugins/File.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Plugins/File.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/DoUndoRedo.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/DoUndoRedo.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/DoUndoRedo.pm Devel::Cover: Deleting old coverage for changed file blib/lib/Text/Editor/Vip/Buffer/Test.pm Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra branch Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra statement ----------------------------------- ------ ------ ------ ------ ------ ------ File stmt branch cond sub time total ----------------------------------- ------ ------ ------ ------ ------ ------ blib/lib/Text/Editor/Vip.pm 100.0 n/a 33.3 100.0 0.0 93.1 blib/lib/Text/Editor/Vip/Buffer.pm 36.1 32.6 22.6 36.3 26.9 34.5 ...t/Editor/Vip/Buffer/Constants.pm 100.0 n/a n/a 100.0 0.1 100.0 .../Editor/Vip/Buffer/DoUndoRedo.pm 15.0 0.0 0.0 21.7 0.0 13.0 ...xt/Editor/Vip/Buffer/Indenter.pm 100.0 n/a n/a 100.0 0.2 100.0 ...b/Text/Editor/Vip/Buffer/List.pm 65.7 27.8 22.2 85.7 35.1 55.6 ...ditor/Vip/Buffer/Plugins/Case.pm 96.0 n/a n/a 90.9 0.0 94.4 ...or/Vip/Buffer/Plugins/Display.pm 77.5 60.0 20.0 80.0 0.0 70.8 ...ditor/Vip/Buffer/Plugins/File.pm 94.3 50.0 n/a 88.9 0.0 91.3 ...ip/Buffer/Plugins/FindReplace.pm 100.0 97.1 78.6 100.0 0.2 97.7 ...or/Vip/Buffer/Plugins/GetWord.pm 97.3 93.8 33.3 91.7 0.1 94.3 ...t/Editor/Vip/Buffer/Selection.pm 12.8 0.0 0.0 26.1 0.0 10.7 ...b/Text/Editor/Vip/Buffer/Test.pm 64.2 42.3 20.0 85.7 0.2 60.9 .../Text/Editor/Vip/CommandBlock.pm 100.0 n/a 45.5 100.0 30.4 88.0 ...ib/Text/Editor/Vip/DoUndoRedo.pm 62.9 50.0 0.0 61.5 6.5 55.1 ...xt/Editor/Vip/Plugins/Display.pm 97.1 75.0 33.3 100.0 0.0 90.9 .../Text/Editor/Vip/Plugins/File.pm 94.3 50.0 n/a 88.9 0.1 91.3 ...lib/Text/Editor/Vip/Selection.pm 14.7 0.0 2.4 16.3 0.2 11.2 Total 48.9 34.0 19.4 53.6 100.0 44.9 ----------------------------------- ------ ------ ------ ------ ------ ------ Writing HTML output to /devel/perl_modules/Text-Editor-Vip/cover_db/coverage.html ... done.
Subject: Random removal of coverage information with multiple test files
I am trying to evaluate the wholesale coverage of my testsuite for a project of mine. I've done this before with good results (excellent module, BTW) but started to notice something really strange recently: Devel::Cover::DB seems to randomly drop coverage from tests that have been run prior to the last that exercise a specific package. This can be seen in some detail in the attachment. I've tried to isolate the cause for an hour now, but to no avail. I can't make any sense of the (disabled in distribution) log messages in Devel::Cover::DB and I couldn't come up with a change to the modules I test that triggers this behaviour. I've noticed a few reports of similar problems (e.g.http://www.cpanforum.com/posts/3537 ) but no one seems to be able to come up with a more helpful bug report.
Subject: dc.report
Download dc.report
application/octet-stream 5.3k

Message body not shown because it is not plain text.

On Fri Dec 29 23:12:18 2006, WILLERT wrote: Show quoted text
> I am trying to evaluate the wholesale coverage of my testsuite for a > project of mine. I've done this before with good results (excellent > module, BTW) but started to notice something really strange recently: > Devel::Cover::DB seems to randomly drop coverage from tests that have > been run prior to the last that exercise a specific package. This can be > seen in some detail in the attachment. >
perl 5.8.7 on Ubuntu Dapper i386 shows the same behavior with Devel::Cover 0.53, 0.58 and 0.59.
On Fri Dec 29 23:12:18 2006, WILLERT wrote: Show quoted text
> I've tried to isolate the cause for an hour now, but to no avail. I > can't make any sense of the (disabled in distribution) log messages in > Devel::Cover::DB and I couldn't come up with a change to the modules I > test that triggers this behaviour.
OK, this could have been obvious. I was able to determine the cause of the problem: Test::TestCoverage doesn't play nice with Devel::Cover but this can easily be fixed when you disable test_cover() if Devel::Cover is loaded (e.g. with "test_coverage('Foo') unless $Devel::Cover::VERSION;"). I lowered the severity as this is a suitable workaround IMO, but I think this should be at least listed in the BUGS file.
Subject: Re: [rt.cpan.org #24152] Random removal of coverage information with multiple test files
Date: Sat, 30 Dec 2006 13:43:13 +0100
To: via RT <bug-Devel-Cover [...] rt.cpan.org>
From: Paul Johnson <paul [...] pjcj.net>
On Fri, Dec 29, 2006 at 11:12:21PM -0500, via RT wrote: Show quoted text
> I am trying to evaluate the wholesale coverage of my testsuite for a > project of mine. I've done this before with good results (excellent > module, BTW) but started to notice something really strange recently: > Devel::Cover::DB seems to randomly drop coverage from tests that have > been run prior to the last that exercise a specific package. This can be > seen in some detail in the attachment.
I think that the important part of the message there is the lines: Devel::Cover: ignoring extra subroutine Devel::Cover: ignoring extra statement Devel::Cover: ignoring extra branch This is where the missing coverage has gone. Show quoted text
> I've tried to isolate the cause for an hour now, but to no avail. I > can't make any sense of the (disabled in distribution) log messages in > Devel::Cover::DB and I couldn't come up with a change to the modules I > test that triggers this behaviour. > > I've noticed a few reports of similar problems > (e.g.http://www.cpanforum.com/posts/3537 ) but no one seems to be able > to come up with a more helpful bug report.
Yes, it's tricky, and there's obviously a case that my fairly simple tests aren't covering, and which no one has been able to narrow down yet. The problem occurs when code is generated dynamically in the second or subsequent runs and Devel::Cover is having trouble coping with it. I'll merge this report with another for the same problem. -- Paul Johnson - paul@pjcj.net http://www.pjcj.net
I believe this is fixed with 5ad895f9e26a27076e6fa2a8e84104c4b5ea1bd4 Thanks,