Chris Dolan wrote: > > On May 8, 2007, at 8:50 AM, Nathan Haigh wrote: > >> I hope this is the correct place for this question! >> >> I'm trying to use Test::Kwalitee with the following test script: >> >> -- test script start -- >> [...snip...] >> -- test script end -- >> >> However, it seems to die unexpectedly with the following output: >> >> -- output start - >> [...snip...] >> -- output end -- >> >> >> Any idea what this might be about? >> >> Cheers >> Nathan > > Take a look at this report: > http://rt.cpan.org/Public/Bug/Display.html?id=24832 > It seems that Test::Kwalitee hard-codes the names of the Kwalitee > tests, but Module::CPANTS::Kwalitee has changed since then. > > So, Test::Kwalitee either needs a quick patch to catch up to now or an > overhaul to auto-detect the kwalitee tests from M::C::K. > > Chris > > -- > Chris Dolan, Equilibrious LLC, http://equilibrious.net/ > Public key: http://chrisdolan.net/public.key > vCard: http://chrisdolan.net/ChrisDolan.vcf > > >
Thanks for that Chris! I'm having a look at the Test::Kwalitee module and I'm in the process of re-writing part of it, so that it uses the list of indicators defined by Module::CPANTS::Kwalitee rather than the hard-coded ones. my $mck=Module::CPANTS::Kwalitee->new; my $indicators_hash = $mck->get_indicators_hash; A side effect of this is that the test comments are no longer like: "distribution is extractable" but is the name of the indicator instead. This is better as they will nolonger need to have test descriptions hard coded and if new Kwalitee indicators are included in Module::CPANTS::Kwalitee, then they will be automatically tested. The only bit I think needs to be hard-coded into Test::Kwalitee are the indicators that rally have no reason to be tested when running the tests on module files. I.e. those tests that need a tarball or the likes. The indicators I've hard coded to miss are: @always_excluded_tests = qw( -extracts_nicely # requires a tarball -has_version # requires a tarball -has_proper_version # requires a tarball -is_prereq # don't really need other modules to require this one -no_cpants_errors # don't need to check for CPANTS errors ); So the default set of Kwalitee indicators that are tested for are: extractable has_readme has_manifest has_meta_yml has_buildtool has_changelog no_symlinks has_tests buildtool_not_executable has_example metayml_is_parsable metayml_has_license metayml_conforms_spec_1_0 metayml_conforms_spec_1_2 proper_libs no_pod_errors has_working_buildtool use_strict has_test_pod has_test_pod_coverage has_humanreadable_license manifest_matches_dist All I now need to do is to make relevant fixes to the Test::Kwalitee module so that it passes all the new Kwalitee indicators!! Let me know if you think this is a good idea or not! Cheers Nathan