-----BEGIN PGP SIGNED MESSAGE-----

Moin,

On 28-Feb-02 Paul Johnson tried to scribble about:
> On Thu, Feb 28, 2002 at 07:23:43PM +0100, Tels wrote:
> 
>> Anyway, it is not so easy to run your entire testsuite trough
>> Devel::Cover. Well, sort it is:
>> 
>> PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib -e 'use
>> Test::Harness qw(&runtests $switches $verbose); $switches="-w
>> - -MDevel::Cover"; $verbose=0; runtests @ARGV;' t/*.t 
> 
> I normally go with:
> 
>   PERL5OPT='-MDevel::Cover' make test
> 
> just don't try it on the Devel::Cover testsuite itself :-)

That doesn't work on most of my modules:

It usually covers the t/*.t files itself, not the lib. The files land in
t/cover_db, instead of ./cover_db, and ./cover can not use this directly
(due to various path problems). 

te@null:~/perl/math/Math-String-1.19 > PERL5OPT='-MDevel::Cover' make test
PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib -e 'use
Test::Harness qw(&runtests $verbose); $verbose=0; runtests @ARGV;' t/*.t
t/sequence....ok
t/setgpm......ok
t/setnpm......ok
t/setspm......ok
t/stringpm....ok
t/study.......ok
All tests successful.
Files=6, Tests=569, 22 wallclock secs ( 9.44 cusr +  0.94 csys = 10.38 CPU)
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
File                           stmt branch   path   cond    pod   time 
total
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
- -e                           100.00    n/a    n/a    n/a    n/a 100.00
100.00
Total                        100.00    n/a    n/a    n/a    n/a 100.00
100.00
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------

(The summary is a bit useless)

te@null:~/perl/math/Math-String-1.19 > ./cover
Use of uninitialized value in concatenation (.) or string at ./cover line
72.
Use of uninitialized value in concatenation (.) or string at ./cover line
72.
Writing HTML to /.html
Use of uninitialized value in concatenation (.) or string at ./cover line
74.
Use of uninitialized value in concatenation (.) or string at ./cover line
74.
Use of uninitialized value in concatenation (.) or string at ./cover line
74.
Use of uninitialized value in concatenation (.) or string at ./cover line
74.
Cannot open /.html: Permission denied
te@null:~/perl/math/Math-String-1.19 > 

Bug one: The default database is not "cover_db":

te@null:~/perl/math/Math-String-1.19 > diff -u cover cover2
- --- cover       Thu Feb 28 19:04:38 2002
+++ cover2      Fri Mar  1 17:41:13 2002
@@ -262,7 +262,7 @@
 {
     get_options;

- -    my $dbname = shift @ARGV;
+    my $dbname = shift @ARGV || 'cover_db';

     my $db = Devel::Cover::DB->new(db => $dbname);

te@null:~/perl/math/Math-String-1.19 >

That fixes that.

Now:

te@null:~/perl/math/Math-String-1.19 > ./cover
Writing HTML to cover_db/cover_db.html
Unable to open -e: No such file or directory
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
File                           stmt branch   path   cond    pod   time 
total
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
- -e                           100.00    n/a    n/a    n/a    n/a 100.00
100.00
Total                        100.00    n/a    n/a    n/a    n/a 100.00
100.00
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------

te@null:~/perl/math/Math-String-1.19 >

Still not usefull.


te@null:~/perl/math/Math-String-1.19 > cd t
te@null:~/perl/math/Math-String-1.19/t > ../cover
Writing HTML to cover_db/cover_db.html
Unable to open t/sequence.t: No such file or directory
Unable to open t/setgpm.t: No such file or directory
Unable to open t/setnpm.t: No such file or directory
Unable to open t/setspm.t: No such file or directory
Unable to open t/stringpm.t: No such file or directory
Unable to open t/study.t: No such file or directory
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
File                           stmt branch   path   cond    pod   time 
total
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------
t/sequence.t                 100.00    n/a    n/a    n/a    n/a   9.88
100.00
t/setgpm.t                   100.00    n/a    n/a    n/a    n/a  12.36
100.00
t/setnpm.t                   100.00    n/a    n/a    n/a    n/a  10.77
100.00
t/setspm.t                    99.47    n/a    n/a    n/a    n/a  20.72 
99.47
t/stringpm.t                 100.00    n/a    n/a    n/a    n/a  43.70
100.00
t/study.t                    100.00    n/a    n/a    n/a    n/a   2.56
100.00
Total                         99.85    n/a    n/a    n/a    n/a 100.00 
99.85
- ---------------------------- ------ ------ ------ ------ ------ ------
- ------


te@null:~/perl/math/Math-String-1.19/t >

While it does something, I still don't get the libs covered. After that, I
got is somehow to cover the libs, but it was an ugly hour of hacking around
and I ended up with HTML file names starting with three dashes. Ugh ;)

So, my question: Would it be possible to make a make target, that automates
this process somehow and prints out the coverage summary? (Obviously I am
not able to do this, otherwise I would have done long ago ;)

It should, of course up to the author whether (s)he want's to use this, or
whether to release the module despite of poor coverage, but at least it
would allow a quick glance without fiddling around.

I shudder at the idea to re-hack this for each and every module I want to
cover, and for each version again and again. ;) And if it is so
complicated, not many people will use it, which is what we want to avoid.
It is a so usefull tool ;)

Best regards,

Tels


- -- 
 perl -MDev::Bollocks -e'print Dev::Bollocks->rand(),"\n"'
 proactively foster magnetic users

 http://bloodgate.com/perl       My current Perl projects
 PGP key available on http://bloodgate.com/tels.asc or via email

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)

iQEVAwUBPH+xkncLPEOTuEwVAQEU1gf8DUnEm0CSSlgKs7FTT2kPpWI2GEpd1Mw6
hgXsPXA63vIyJPAuz4SamoLibMqYAHqmpaV0hPe0hRQ3yNhbQ/AxxwGgqMinSxl8
Jzcvb/00yCOE5qfz46+oYDYJekrqtGiUM6VretMmwuRW85LDNvcKNmTgyxolImZr
P0n+SH56i7kMDp+eyHBNXooxMx4nkQNdLx1gXNmYXzlnFYeqTlmQXOHf0aWqtdFE
n0uCT0UYOV4fiSUDrhtitUXKh0CrBPM5vUPIT2B0LvcquOxJIZcMiBCPwkbrSFMr
DylHq8SOySRs5EYYVDTzwjxasN1zCjg2CGJ6eMnaEoTxmKH3j5gHBg==
=pfbV
-----END PGP SIGNATURE-----

Reply via email to