Support both signature styles.
authorGreg Sabino Mullane <greg@endpoint.com>
Sun, 3 May 2009 17:08:46 +0000 (13:08 -0400)
committerGreg Sabino Mullane <greg@endpoint.com>
Sun, 3 May 2009 17:08:46 +0000 (13:08 -0400)
Makefile.PL
t/00_signature.t

index 3190c482d4733350eb5792dc386e4ae8c79f0aac..828c63870657a2df69f1cb06d228cd0bbc78a2dc 100644 (file)
@@ -53,7 +53,7 @@ my %opts =
         NO_META        => 1,
      NORECURS       => 1,
      MAN1PODS       => {},
-        clean          => { FILES => 'test_database_check_postgres/', '/tmp/cptesting_socket' },
+        clean          => { FILES => 'test_database_check_postgres/ /tmp/cptesting_socket' },
 );
 
 {
@@ -61,6 +61,9 @@ my %opts =
        sub clean {
                my $string = shift->SUPER::clean(@_);
                $string =~ s{\t}{\tperl t/99_cleanup\.t\n\t};
+               $string .= qq{\nsignature_asc : \n};
+               $string .= qq{\t@ gpg --yes -ba check_postgres.pl\n};
+               $string .= qq{\t@ gpg --verify check_postgres.pl.asc\n};
                return $string;
        }
 }
index 358861407283e436b6856e66cb869824f600be00..74fbe7aaa768543551c3869931ebebd54472f878 100644 (file)
@@ -13,7 +13,7 @@ my $sigfile = 'check_postgres.pl.asc';
 if (!$ENV{TEST_SIGNATURE} and !$ENV{TEST_EVERYTHING}) {
        plan skip_all => 'Set the environment variable TEST_SIGNATURE to enable this test';
 }
-plan tests => 1;
+plan tests => 2;
 
 SKIP: {
        if ( !-e $sigfile ) {
@@ -32,3 +32,24 @@ SKIP: {
                }
        }
 }
+
+SKIP: {
+       if (!eval { require Module::Signature; 1 }) {
+               skip ('Must have Module::Signature to test SIGNATURE file', 1);
+       }
+       elsif ( !-e 'SIGNATURE' ) {
+               fail ('SIGNATURE file was not found');
+       }
+       elsif ( ! -s 'SIGNATURE') {
+               fail ('SIGNATURE file was empty');
+       }
+       else {
+               my $ret = Module::Signature::verify();
+               if ($ret eq Module::Signature::SIGNATURE_OK()) {
+                       pass ('Valid SIGNATURE file');
+               }
+               else {
+                       fail ('Invalid SIGNATURE file');
+               }
+       }
+}