Subject: | Fails In Distros Without .pm Files |
I have a couple of distros that only contain a script (i.e. no modules; no .pm files) and Test::Kwalitee fails on these by telling me I've not used strict in my modules (and then provides the empty list of modules that need use strict).
One of such dists is http://search.cpan.org/perldoc?cpan_bot and the other where I actually ran the test is http://search.cpan.org/perldoc?file2ftp
Here's the error messages from the test:
t/kwalitee.t ...... 1/?
# Failed test 'metayml_conforms_to_known_spec'
# at t/kwalitee.t line 5.
# Error: META.yml does not conform to any recognised META.yml Spec.
# Details:
# known; License '<undef>' is invalid (license) [Validation: 1.3]; Missing mandatory field, 'license' (license) [Validation: 1.3]
# known
# License '<undef>' is invalid (license) [Validation: 1.3]
# Missing mandatory field, 'license' (license) [Validation: 1.3]
# Remedy: Take a look at the META.yml Spec at http://module-build.sourceforge.net/META-spec-current.html and change your META.yml accordingly.
# Failed test 'has_human_readable_license'
# at t/kwalitee.t line 5.
# Error: This distribution does not have a license defined in the documentation or in a file called LICENSE
# Details:
# Neither LICENSE file nor LICENSE section in pod was found.
# Remedy: Add a section called "LICENSE" to the documentation, or add a file named LICENSE to the distribution.
# Failed test 'has_license_in_source_file'
# at t/kwalitee.t line 5.
# Error: Does not have license information in any of its source files
# Details:
# LICENSE section was not found in the pod.
# Remedy: Add =head1 LICENSE and the text of the license to the main module in your code.
# Failed test 'use_strict'
# at t/kwalitee.t line 5.
# Error: This distribution does not 'use strict;' (or its equivalents) in all of its modules. Note that this is not about the actual strictness of the modules. It's bad if nobody can tell whether the modules are strictly written or not, without reading the source code of your favorite clever module that actually enforces strictness. In other words, it's bad if someone feels the need to add 'use strict' to the modules.
Use of uninitialized value in concatenation (.) or string at /usr/local/share/perl/5.14.2/Module/CPANTS/Kwalitee/Uses.pm line 158.
# Details:
# The following modules don't use strict (or equivalents):
# Remedy: Add 'use strict' to all modules, or convince us that your favorite module is well-known enough and people can easily see the modules are strictly written.
# Looks like you failed 4 tests of 14.
t/kwalitee.t ...... Dubious, test returned 4 (wstat 1024, 0x400)
Not sure what relation this module has to the CPANTS Kwalitee game, but there the failure is also present, seemingly by calling a module on an idenfined value: http://cpants.cpanauthors.org/dist/cpan_bot/errors