|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Perl code coverageI recently discovered Devel::Cover (Debian package libdevel-cover-perl).
This rocks. Kudos to Paul Johnson for writing this module. To use Devel::Cover, I have started a branch perl-coverage (off of maint) which introduces a few helper targets, e.g., make check-coverage which is veeery slow, but also quite interesting. I will follow up on automake-patches with the patches in the branch, as far as I've merged it into master. (Please speak up if you'd like me to push the branch to savannah as well; otherwise, you can easily get at it with something like merge-point^2.) Up to now, I've tackled the trivial pod coverage, some Perl module coverage, and started on 'automake' script coverage, beginning at the end of the script. A big part of it is fairly trivial, but IMHO still worthwhile to add since it allows us to be more confident about correctness when changing the code later. I've found a few likely bugs with this already, too, and the peaks in the 'time' column below whisper 'missed-optimization'. Use of Devel::Cover causes a few test failures; notably, it doesn't work with ithreads, and it causes some output even with -silent. It might be necessary to not close STDOUT in General::END, not sure yet about that. In summary, running the Automake testsuite on a GNU/Linux x86 system shows roughly the following coverage (I've had a couple of minor, unfinished patches in the tree). For a description of the data, see: <http://search.cpan.org/dist/Devel-Cover/lib/Devel/Cover/Tutorial.pod>. Devel::Cover also exports very nice per-file, per-statement etc. HTML files, I'm not sure whether it is worthwhile to put them up somewhere. ----------------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ----------------------------------- ------ ------ ------ ------ ------ ------ ------ ...make/lib/Automake/ChannelDefs.pm 93.0 92.9 n/a 88.2 88.9 0.2 92.2 ...utomake/lib/Automake/Channels.pm 83.4 66.1 71.4 86.8 100.0 1.0 79.5 ...tomake/lib/Automake/Condition.pm 97.8 94.8 100.0 96.2 94.7 2.2 97.1 ...ake/lib/Automake/Configure_ac.pm 96.4 87.5 50.0 100.0 0.0 0.0 93.3 ...e/lib/Automake/DisjConditions.pm 78.7 70.0 n/a 84.2 100.0 1.6 77.6 ...tomake/lib/Automake/FileUtils.pm 56.9 31.2 18.2 76.0 100.0 0.2 50.0 ...automake/lib/Automake/General.pm 100.0 100.0 n/a 100.0 0.0 0.2 100.0 ...ke/automake/lib/Automake/Item.pm 100.0 50.0 66.7 100.0 100.0 1.7 94.1 ...automake/lib/Automake/ItemDef.pm 100.0 n/a n/a 100.0 100.0 0.4 100.0 ...utomake/lib/Automake/Location.pm 63.5 n/a 25.0 80.0 0.0 0.9 63.6 ...automake/lib/Automake/Options.pm 94.8 92.5 92.3 96.0 100.0 0.1 93.7 ...ke/automake/lib/Automake/Rule.pm 93.6 90.0 81.2 89.2 100.0 1.5 91.1 ...automake/lib/Automake/RuleDef.pm 100.0 n/a n/a 100.0 33.3 0.1 100.0 .../automake/lib/Automake/Struct.pm 79.0 51.9 44.4 82.9 50.0 0.4 67.7 .../automake/lib/Automake/VarDef.pm 97.6 85.7 100.0 100.0 90.0 0.6 96.7 ...utomake/lib/Automake/Variable.pm 95.7 86.8 83.8 96.4 100.0 3.0 92.3 ...automake/lib/Automake/Version.pm 96.6 75.0 83.3 100.0 100.0 0.0 87.9 ...ke/automake/lib/Automake/Wrap.pm 100.0 100.0 100.0 100.0 66.7 0.4 100.0 ...e/automake/lib/Automake/XFile.pm 71.0 37.5 14.3 77.8 55.6 61.2 59.2 .../lib/Automake/tests/Condition.pl 87.9 50.0 33.3 100.0 n/a 0.0 75.5 ...Automake/tests/DisjConditions.pl 82.3 50.0 44.4 100.0 n/a 0.0 72.1 ...ke/lib/Automake/tests/Version.pl 66.7 50.0 n/a 100.0 n/a 0.0 65.6 ...omake/lib/Automake/tests/Wrap.pl 85.7 50.0 n/a 100.0 n/a 0.0 83.3 ...nload/cvs/automake/build/aclocal 97.9 93.7 72.3 97.5 n/a 17.9 94.4 ...load/cvs/automake/build/automake 96.1 89.2 87.3 96.7 n/a 6.3 93.2 ...ake/build/lib/Automake/Config.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 Total 92.8 83.0 81.6 93.3 86.6 100.0 89.2 ----------------------------------- ------ ------ ------ ------ ------ ------ ------ |
|
|
Omit dvi ruleHi list!
Is there a way to stop automake producing a rule for dvi docs? It just makes my 'distcheck' fail. kind regards, Stefan |
|
|
Re: Omit dvi rule* Stefan Bienert wrote on Mon, Oct 19, 2009 at 12:45:19AM CEST:
> Is there a way to stop automake producing a rule for dvi docs? > It just makes my 'distcheck' fail. dvi: Cheers, Ralf |
|
|
Re: Omit dvi ruleRalf Wildenhues wrote:
> * Stefan Bienert wrote on Mon, Oct 19, 2009 at 12:45:19AM CEST: >> Is there a way to stop automake producing a rule for dvi docs? >> It just makes my 'distcheck' fail. > > dvi: This does not work: cd ../.. && /bin/sh /home/user/projects/documentation.git/share/misc/config/missing --run automake-1.10 --gnu share/doc/Makefile share/doc/Makefile.am:76: user target `dvi' defined here... automake-1.10: ... overrides Automake target `dvi' defined here share/doc/Makefile.am:76: consider using dvi-local instead of dvi I also tried dvi-local, but this does not work either! kind regards, Stefan -- Stefan Bienert Zentrum fuer Bioinformatik Universitaet Hamburg Bundesstrasse 43 20146 Hamburg Germany Email: bienert@... Phone: +49 (40) 42838 7345 Fax: +49 (40) 42838 7332 |
|
|
Re: Omit dvi rule* Stefan Bienert wrote on Mon, Oct 19, 2009 at 02:06:40PM CEST:
> cd ../.. && /bin/sh > /home/user/projects/documentation.git/share/misc/config/missing --run > automake-1.10 --gnu share/doc/Makefile > share/doc/Makefile.am:76: user target `dvi' defined here... > automake-1.10: ... overrides Automake target `dvi' defined here > share/doc/Makefile.am:76: consider using dvi-local instead of dvi This is not an error, merely a warning. You can silence it with AUTOMAKE_OPTIONS = -Wno-override > I also tried dvi-local, but this does not work either! That's expected: dvi-local exists to amend the dvi rule. Cheers, Ralf |
|
|
Re: Omit dvi ruleSplendid!
Thanks mate, this gives me exactly the behaviour I was seeking, while exactly means E-X-A-C-T-L-Y. I didn't favour a global change of rules but a local one...mission accomplished! I just feel a little bit dumb, because I searched the "Changing Automakes behaviour" section by myself, before...and didn't get it. kind regards, Stefan Ralf Wildenhues wrote: > * Stefan Bienert wrote on Mon, Oct 19, 2009 at 02:06:40PM CEST: >> cd ../.. && /bin/sh >> /home/user/projects/documentation.git/share/misc/config/missing --run >> automake-1.10 --gnu share/doc/Makefile >> share/doc/Makefile.am:76: user target `dvi' defined here... >> automake-1.10: ... overrides Automake target `dvi' defined here >> share/doc/Makefile.am:76: consider using dvi-local instead of dvi > > This is not an error, merely a warning. You can silence it with > AUTOMAKE_OPTIONS = -Wno-override > >> I also tried dvi-local, but this does not work either! > > That's expected: dvi-local exists to amend the dvi rule. > > Cheers, > Ralf > |
| Free embeddable forum powered by Nabble | Forum Help |