Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
Andy Lester wrote: Patches to Module::Starter are always welcome. My ears are always open. Your ideas make sense, especially about noting the Pod::Coverage version. I don't suppose you'd want a patch to drop pod/pod-coverage testing entirely? ;-) Since I'm in the opposed camp, I don't really want to put spare tuits to something I don't support in the first place. How about one that makes pod/pod-coverage skip-all by default unless the author explicitly changes the .t files to turn them on? (Opt-in versus opt-out). That way it's a convenient option, not a recommendation to authors. If that patch would go through, I'd add the Pod::Coverage version test for free. David
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
* David Golden [EMAIL PROTECTED] [2005-11-14 13:45]: How about one that makes pod/pod-coverage skip-all by default unless the author explicitly changes the .t files to turn them on? In http://www.perlmonks.org/index.pl?node_id=508155 I wrote: A better approach would be to make their execution depend on the action, so someone saying `./Build disttest` would get them, whereas someone saying `./Build test` would not. To which chromatic reacted in http://www.perlmonks.org/index.pl?node_id=508160: Great idea! Here's a quick and dirty implementation: package Module::Build::StupidPodTests; use SUPER; use base 'Module::Build'; use Module::Build; sub ACTION_disttest { my $self = shift; local $ENV{PERL_TESTPOD} = 1; super(); } sub find_test_files { my $self = shift; my $tests = super(); return $tests if $ENV{PERL_TESTPOD}; return [ grep { $_ !~ /\bpod.*\.t\z/ } @$tests ]; } 1; Use this in place of Module::Build in your Build.PL file and the only suck is that you still have to distribute the still-useless-to-everyone-else-but-CPANTS-for-some-reason POD testing files. But at this point, I think even this is not quite the right approach. Rather, the tests should be built directly into Module::Build itself à la the `testcover` target. Test::Pod needs no parametrisation, so it would be trivial to integrate, and it also is the really valuable test. (At least I can’t think of *any* case where letting malformed POD through is desirable.) Test::Pod::Coverage will often need handholding (“yes, I’ve documented the constructor, even though you can’t tell, silly thing”), and would thus require some configuration mechanism. Or it might just be left out, I wouldn’t care. I can only think of one scenario where it is useful: as a rough guide for retrospectively adding POD to a complex, un(der)documented suite of modules. As far as CPANTS is concerned, awarding points for the respective issues by checking the metrics themselves is a good idea, but looking for tests for these metrics seems rather pointless. Again, checking whether the POD is error-free is arguably valuable; checking POD coverage is questionable. Regards, -- #Aristotle *AUTOLOAD=*_=sub{s/(.*)::(.*)/print$2,(,$\/, )[defined wantarray]/e;$1}; Just-another-Perl-hacker;
RE: Another CPANTS/pod_coverage.t rant - FULL VERSION
Title: RE: Another CPANTS/pod_coverage.t rant - FULL VERSION As far as CPANTS is concerned, awarding points for the respective issues by checking the metrics themselves is a good idea, but looking for tests for these metrics seems rather pointless. Again, checking whether the POD is error-free is arguably valuable; checking POD coverage is questionable. We needa Kwalitee Kwalitee Metric. Anything that attempts to use Pod::Coverage to determine Kwalitee is inherently of low Kwalitee and should lose points. Yves
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
A. Pagaltzis wrote: But at this point, I think even this is not quite the right approach. Rather, the tests should be built directly into Module::Build itself à la the `testcover` target. Test::Pod needs no parametrisation, so it would be trivial to integrate, and it also is the really valuable test. (At least I can’t think of *any* case where letting malformed POD through is desirable.) Pod syntax checking is there already as testpod. It would be fairly trivial to add testpodcover, but I suspect that never happened because testcover does it already through Devel::Cover. David
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
On Mon, Nov 14, 2005 at 08:56:32AM -0500, David Golden wrote: A. Pagaltzis wrote: But at this point, I think even this is not quite the right approach. Rather, the tests should be built directly into Module::Build itself à la the `testcover` target. Test::Pod needs no parametrisation, so it would be trivial to integrate, and it also is the really valuable test. (At least I can?t think of *any* case where letting malformed POD through is desirable.) I think this is the way to go. Pod syntax checking is there already as testpod. It would be fairly trivial to add testpodcover, but I suspect that never happened because testcover does it already through Devel::Cover. I would rather these were rolled into 'disttest', so I have less API to remember. The pod tests could possibly be reported in a separate result, so there would be a distinction between the functional tests and the kwalitee tests. I do realize there is merit the alternate viewpoint that from the user's perspective the functionality and overall quality contribute a single overall impression. Mark
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
* David Golden [EMAIL PROTECTED] [2005-11-14T08:56:32] Pod syntax checking is there already as testpod. It would be fairly trivial to add testpodcover, but I suspect that never happened because testcover does it already through Devel::Cover. Test::Pod::Coverage needs to evaluate the Perl code it is coverage-testing. It has been said that no CPANTS test will do that. -- rjbs pgp2xfUu1Cydq.pgp Description: PGP signature
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
Ricardo SIGNES wrote: * David Golden [EMAIL PROTECTED] [2005-11-14T08:56:32] Pod syntax checking is there already as testpod. It would be fairly trivial to add testpodcover, but I suspect that never happened because testcover does it already through Devel::Cover. Test::Pod::Coverage needs to evaluate the Perl code it is coverage-testing. It has been said that no CPANTS test will do that. Sorry for the confusion. I was responding to a query about Module::Build, which already does have a testpod action. E.g.: $ perl Build.PL $ Build $ Build test $ Build testpod Likewise, there's a testcover action that runs Devel::Cover on the test suite: $ Build testcover Devel::Cover will include pod coverage testing if Pod::Coverage is installed. David
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
On Mon, Nov 14, 2005 at 07:40:59AM -0500, David Golden ([EMAIL PROTECTED]) wrote: How about one that makes pod/pod-coverage skip-all by default unless the author explicitly changes the .t files to turn them on? No. Module::Starter is a case where I'm using the package as evangelism. Users can rm t/*.t; perl -ni -e'print unless m[t/pod]' MANIFEST if they don't like the tests. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance
PPM Fails Question - What did I do wrong?
I was looking around the ActiveState PPM repository today and I noticed that a module I released recently was reported as having failed on most, but not all, platforms. I'd like this module to appear in the ActiveState repository, so I figure I better fix my code up. My problem is that I don't really understand the error reported: Makefile out-of-date with respect to Makefile.PL Cleaning current config before rebuilding Makefile... nmake -f Makefile.old Microsoft (R) Progr D:\cpanrun\build\5-8-0\bin\perl.exe Makefile.PL Checking if your kit is complete... Looks good Writing MakNMAKE : fatal error U1077: 'false' : return code '0x1' Stop. een rebuilt. == == Please rerun the make command. == false Attempts to Google pertinent parts of the error didn't really shed any light - at least for my feeble mind. The module was created on Windows XP and built using nmake and Gnu tar/gzip. It installed fine from the .gz file on my test platforms. Any help is appreciated. Regards, Troy
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
* David Golden [EMAIL PROTECTED] [2005-11-14 15:00]: Pod syntax checking is there already as testpod. Ah. I even have a fairly recent version of Module::Build, but it seems I need to upgrade again. It would be fairly trivial to add testpodcover, but I suspect that never happened because testcover does it already through Devel::Cover. Cool! Yet more I didn’t know. You know, I like this Module::Build thing more and more… Regards, -- Aristotle Pagaltzis // http://plasmasturm.org/
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
Would it be useful for Module::Build to warn you if perl Build dist is run without a successful run of these tests? $ perl Built dist KWALITEE WARNING: It's recommended you run perl Build disttest beforehand. KWALITEE WARNING: It's recommended you run perl Build testpod beforehand. ... $ perl Build testpod perl Build disttest $ perl Build dist ... Module::Build could write some flag to indicate that a test were done and how successful it was. The flag probably should include a checksum of all files in the distribution to allow verification that the test was run on the current copy of the files. If your t/*.t files themselves handle these kwalitee tests (e.g. as a substitute for testpod), then these flags should get updated when running the t/*.t tests as well. If the flags are included in the distribution itself, they could be read by CPANTS to address problems like the below: Ricardo SIGNES wrote: Test::Pod::Coverage needs to evaluate the Perl code it is coverage-testing. It has been said that no CPANTS test will do that. --davidm
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
--- Andy Lester [EMAIL PROTECTED] wrote: No. Module::Starter is a case where I'm using the package as evangelism. If it's for evangalism, could we have Build.PL do the right thing and have Module::Starter::Simple add the following line? create_makefile_pl = 'traditional', The reasons are detailed in http://perlmonks.org/index.pl?node_id=458282 Cheers, Ovid -- If this message is a response to a question on a mailing list, please send follow up questions to the list. Web Programming with Perl -- http://users.easystreet.com/ovid/cgi_course/
Re: Another CPANTS/pod_coverage.t rant - FULL VERSION
On Nov 14, 2005, at 9:20 PM, Ovid wrote: --- Andy Lester [EMAIL PROTECTED] wrote: No. Module::Starter is a case where I'm using the package as evangelism. If it's for evangalism, could we have Build.PL do the right thing and have Module::Starter::Simple add the following line? create_makefile_pl = 'traditional', The reasons are detailed in http://perlmonks.org/index.pl?node_id=458282 Yes, send ticket to the RT queue. If it's already in there, we'll get to it. xoxo, Andy -- Andy Lester = [EMAIL PROTECTED] = www.petdance.com = AIM:petdance