Dpkg
view release on metacpan or search on metacpan
lib/Test/Dpkg.pm view on Meta::CPAN
# Only check modules, scripts are documented in man pages.
return unless $module =~ s/\.pm$//;
my $mod = Module::Metadata->new_from_file($File::Find::name);
# As a first step just check public modules (version > 0.xx).
return if $mod->version() =~ m/^0\.\d\d$/;
$module =~ s{^\Q$File::Find::topdir\E/}{};
$module =~ s{/}{::}g;
return if exists $modules_todo{$module};
push @modules, $module;
};
_test_scan_files($scan_perl_modules, [ _test_get_perl_dirs() ]);
return @modules;
}
sub test_needs_author
{
if (not $ENV{AUTHOR_TESTING}) {
plan skip_all => 'author test';
}
}
sub test_needs_module
{
my ($module, @imports) = @_;
my ($package) = caller;
require version;
my $version = '';
if (@imports >= 1 and version::is_lax($imports[0])) {
$version = shift @imports;
}
eval qq{
package $package;
use $module $version \@imports;
1;
} or do {
plan skip_all => "requires module $module $version";
}
}
sub test_needs_command
{
my $command = shift;
if (not can_run($command)) {
plan skip_all => "requires command $command";
}
}
my @openpgp_backends = (
{
backend => 'gpg',
cmd => 'gpg-sq',
cmdv => 'gpgv-sq',
},
{
backend => 'gpg',
cmd => 'gpg',
cmdv => 'gpgv',
},
{
backend => 'sq',
cmd => 'sq',
cmdv => 'sqv',
},
{
backend => 'sop',
cmd => 'sop',
cmdv => 'sopv',
},
{
backend => 'sop',
cmd => 'sqop',
cmdv => 'sqopv',
},
{
backend => 'sop',
cmd => 'rsop',
cmdv => 'rsopv',
},
{
backend => 'sop',
cmd => 'gosop',
},
{
backend => 'sop',
cmd => 'pgpainless-cli',
},
);
sub test_needs_openpgp_backend
{
my @have_backends;
foreach my $backend (@openpgp_backends) {
my $name = $backend->{backend};
my $cmd = $backend->{cmd} // q();
my $cmdv = $backend->{cmdv} // q();
my $have_cmd = $cmd eq 'none' ? 0 : can_run($cmd);
my $have_cmdv = $cmdv eq 'none' ? 0 : can_run($cmdv);
next unless ($have_cmd || $have_cmdv);
my $have_backend = {
backend => $name,
};
$have_backend->{cmd} = $cmd if $have_cmd;
$have_backend->{cmdv} = $cmdv if $have_cmdv;
push @have_backends, $have_backend;
if ($have_cmd && $have_cmdv) {
push @have_backends, {
backend => $name,
cmd => $cmd,
cmdv => 'none',
};
push @have_backends, {
backend => $name,
( run in 1.406 second using v1.01-cache-2.11-cpan-df04353d9ac )