|
NAMETest::CPANfile - see if cpanfile lists every used modules SYNOPSIS # By default, this module tests if cpanfile has all the used modules.
use Test::CPANfile;
use Test::More;
cpanfile_has_all_used_modules();
done_testing;
# You can use an optional CPAN package index to see if
# a sibling of a used-but-not-listed-in-cpanfile module
# is listed.
use Test::CPANfile;
use Test::More;
use CPAN::Common::Index::Mirror;
my $index = CPAN::Common::Index::Mirror->new;
cpanfile_has_all_used_modules(
parser => [qw/:installed/],
index => $index,
);
done_testing;
# You can ignore specific files
use Test::CPANfile;
use Test::More;
# ignore prereqs in lib/Foo/Bar/Win32.pm, lib/Foo/Bar/Mac.pm etc
cpanfile_has_all_used_modules(
ignore => [qw!lib/Foo/Bar/!],
);
done_testing;
# Or you can scan extra files
use Test::CPANfile;
use Test::More;
cpanfile_has_all_used_modules(
lib => [glob 'extlib/*/lib'],
);
done_testing;
DESCRIPTIONThis module tests if cpanfile lists every "use"d modules or not. It's ok if you list a module that is "eval"ed in the code, or a module that does not appear in the code, as "requires", but it complains if a "use"d module is listed as "recommends" or "suggests". FUNCTIONcpanfile_has_all_used_modules()You can pass an optional hash, which is passed to Perl::PrereqScanner::NotQuiteLite::App's constructor to change its behavior. Notable options are:
CPAN::Common::Index support If you pass an optional CPAN::Common::Index instance (as the second example above), it is used to find a distribution that contains a "used" module. The test for the module passes if one of the modules that the distribution contains is listed in the cpanfile, even when the "used" module itself is not listed. SEE ALSOPerl::PrereqScanner::NotQuiteLite, CPAN::Common::Index AUTHORKenichi Ishigaki, <ishigaki@cpan.org> COPYRIGHT AND LICENSEThis software is copyright (c) 2017 by Kenichi Ishigaki. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
|