Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 14694
Status: resolved
Priority: 0/
Queue: Module-Build

People
Owner: Nobody in particular
Requestors: chris+rt [...] chrisdolan.net
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: 0.27_01
Fixed in: (no value)



Subject: testcover action needs to delete cover_db if files are out of date
When running the testcover action multiple times, an updated .pm file that gets put in blib causes Devel::Cover to get very confused, since it caches lots of info about that file. I propose that the testcover action include $self->do_system("cover -delete") if any files have been changed in blib since the last run. If the latter case is too hard to determine, the the -delete command should be run every time. Perhaps this bug is really better handled in Devel::Cover, but deleting the cover_db directory each time seems to me like a good enough workaround for now. -- Chris Dolan
Is it only *.pm files we need to worry about, or does Devel::Cover also care about other stuff? We can probably check fairly easily whether any of the *.pm files in blib/ are newer than the stuff in cover_db/. What file(s) in cover_db/ should be checked? -Ken
[KWILLIAMS - Wed Sep 21 21:19:16 2005]: Show quoted text
> Is it only *.pm files we need to worry about, or does Devel::Cover > also care about other stuff? > > We can probably check fairly easily whether any of the *.pm files in > blib/ are newer than the > stuff in cover_db/. What file(s) in cover_db/ should be checked? > > -Ken
Good questions. Just looking at blib/.*\.pm should be good enough for now. Devel::Cover explicitly ignores test.pl and t/*.t and ./Build, but it does trace every other code used or required by the test suite. It's *possible* that the test suite of some packages may use other files besides the main .pm files (e.g. t/lib/*.pm or example/*.pm) but I think we can safely ignore those cases for the first pass. The files that matter in cover_db are qr{cover.\d+|structure/.*} and maybe qr{runs/.*}. I advocate that we should simply test against ALL the files in the cover_db subdir to be safe, since Devel::Cover is still being actively developed and the list of relevant files may change. Thanks! -- Chris
Okay, I've added a patch for this. It's untested, though - do you want to check whether it works? -Ken
[KWILLIAMS - Thu Sep 22 23:36:13 2005]: Show quoted text
> Okay, I've added a patch for this. It's untested, though - do you > want to check whether it > works? > > -Ken
It tested successfully for me. This is now resolved for me. Thanks! A note for posterity (Ken can ignore this): I filed RT bug 14709 against Devel::Cover v0.55 to address this problem because D::C purports to notice when files change all by itself. Even if the D::C bug is corrected though, I advocate that Ken's workaround remain in M::B for the foreseeable future. -- Chris
From: Ken Williams <ken [...] mathforum.org>
Subject: Re: [cpan #14694] testcover action needs to delete cover_db if files are out of date
Date: Mon, 26 Sep 2005 10:25:21 -0500
To: bug-Module-Build [...] rt.cpan.org
RT-Send-Cc:
On Sep 26, 2005, at 10:21 AM, via RT wrote: Show quoted text
> > It tested successfully for me. This is now resolved for me. Thanks!
Cool. Show quoted text
> > A note for posterity (Ken can ignore this): I filed RT bug 14709 > against > Devel::Cover v0.55 to address this problem because D::C purports to > notice when files change all by itself. Even if the D::C bug is > corrected though, I advocate that Ken's workaround remain in M::B for > the foreseeable future.
I agree, this did feel like something D::C should be fixing on its own turf. Assuming it eventually does, we should let it handle things if its version number is high enough. -Ken