Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Devel::Cover merging two versions of the same file.

by luisneto (Initiate)
on Aug 16, 2012 at 18:45 UTC ( [id://987859]=perlquestion: print w/replies, xml ) Need Help??

luisneto has asked for the wisdom of the Perl Monks concerning the following question:

Hello Monks,

I'm using Devel::Cover to get statement coverage for my code and I have the following issue:

In system ONE I inserted 'use Devel::Cover' to all of my scripts, but in system TWO I set '-MDevel::Cover=-db....' in the environment variable PERL5OPT. As result of this I have two databases, say db_one and db_two; the issue is that if myscript.pl got executed and covered in both systems, when I merge the databases, one of the two entries gets deleted by cover because the md5 checksum differs from the file stored in the file system (due to the fact that myscript.pl has one extra line of source code in system ONE that it is not present in system TWO).

How can I remove/add that extra 'use Devel::Cover' line to one of the two databases, so cover can merge the coverage data for myscript.pl into one single entry in the database? I need this because coverage for myscript.pl is not the same in system ONE than the coverage in system TWO, and I need the combined coverage number.

Thanks!

Replies are listed 'Best First'.
Re: Devel::Cover merging two versions of the same file.
by pjcj (Novice) on Aug 16, 2012 at 22:55 UTC

    You've correctly identified the problem, but I'm afraid that there isn't a simple solution. In fact, it may well be simpler to make the scripts the same in both environments again and rerun the coverage on one of them.

    However, if you do wish to pursue the path of matching up the databases, what you would have to do would be to write a program to take one of the databases, copy into it the "Structure" data from the other database, and then munge the run data to either add the missing "use Devel::Cover;" line and budge the rest of the data down a line, or remove the "use Devel::Cover;" line and data and budge the rest of the data up a line.

    The API to the database would allow you to do this, I think, but you would be blazing new ground.

    If this sounds like a fair amount of rather tricky work to you, then you are not alone. Hence my suggestion in the first paragraph.

    Sorry I can't be the bearer of better news.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://987859]
Approved by moritz
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chanting in the Monastery: (2)
As of 2024-03-19 04:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found