|
Packit |
dcde0c |
#!perl
|
|
Packit |
dcde0c |
|
|
Packit |
dcde0c |
use strict; # restrict unsafe constructs
|
|
Packit |
dcde0c |
use warnings; # enable optional warnings
|
|
Packit |
dcde0c |
|
|
Packit |
dcde0c |
use Test::More;
|
|
Packit |
dcde0c |
|
|
Packit |
dcde0c |
if (!$ENV{TEST_SIGNATURE}) {
|
|
Packit |
dcde0c |
plan skip_all =>
|
|
Packit |
dcde0c |
"Set the environment variable TEST_SIGNATURE to enable this test.";
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
elsif (!eval { require Module::Signature; 1 }) {
|
|
Packit |
dcde0c |
plan skip_all =>
|
|
Packit |
dcde0c |
"Next time around, consider installing Module::Signature, ".
|
|
Packit |
dcde0c |
"so you can verify the integrity of this distribution.";
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
elsif (!-e 'SIGNATURE') {
|
|
Packit |
dcde0c |
plan skip_all => "SIGNATURE not found";
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
elsif (!-s 'SIGNATURE') {
|
|
Packit |
dcde0c |
plan skip_all => "SIGNATURE file empty";
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
elsif (!eval { require Socket; Socket::inet_aton('pool.sks-keyservers.net') }) {
|
|
Packit |
dcde0c |
plan skip_all => "Cannot connect to the keyserver to check module ".
|
|
Packit |
dcde0c |
"signature";
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
else {
|
|
Packit |
dcde0c |
plan tests => 1;
|
|
Packit |
dcde0c |
}
|
|
Packit |
dcde0c |
|
|
Packit |
dcde0c |
my $ret = Module::Signature::verify();
|
|
Packit |
dcde0c |
SKIP: {
|
|
Packit |
dcde0c |
skip "Module::Signature cannot verify", 1
|
|
Packit |
dcde0c |
if $ret eq Module::Signature::CANNOT_VERIFY();
|
|
Packit |
dcde0c |
|
|
Packit |
dcde0c |
cmp_ok $ret, '==', Module::Signature::SIGNATURE_OK(), "Valid signature";
|
|
Packit |
dcde0c |
}
|