]> git.vpit.fr Git - perl/modules/Task-Devel-Cover-Recommended.git/commitdiff
Test installed prereqs
authorVincent Pit <vince@profvince.com>
Sun, 19 Aug 2012 15:17:13 +0000 (17:17 +0200)
committerVincent Pit <vince@profvince.com>
Sun, 19 Aug 2012 15:29:20 +0000 (17:29 +0200)
MANIFEST
samples/generate.pl
t/01-deps.t [new file with mode: 0644]

index e06241a9bd0636bc067210142ac39c8b7aca95a4..37f1a31259caa730ed77256f91c3c1295b47915a 100644 (file)
--- a/MANIFEST
+++ b/MANIFEST
@@ -7,6 +7,7 @@ README
 lib/Task/Devel/Cover/Recommended.pm
 samples/generate.pl
 t/00-load.t
+t/01-deps.t
 t/91-pod.t
 t/92-pod-coverage.t
 t/95-portability-files.t
index e93562ebbd7b304893bb09b1332c8cd02ee395bc..0c5307c073c0554f6b69387351f9e1f79303c569 100644 (file)
@@ -226,6 +226,7 @@ my %vars = (
   sorthr $prereqs{run},
   $target_pkg => $target_version,
  ),
+ TESTED_PREREQS         => deplist_to_perl(sorthr $prereqs{run}),
  BUG_EMAIL              => $bug_email,
  BUG_QUEUE              => $bug_queue,
  YEARS                  => $years,
@@ -353,6 +354,34 @@ WriteMakefile(
   FILES => "$dist-* *.gcov *.gcda *.gcno cover_db Debian_CPANTS.txt*"
  }
 );
+TEMPLATE
+ # ----------------------------------------------------------------------------
+ 't/01-deps.t' => <<'TEMPLATE',
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+my $TESTED_PREREQS = __TESTED_PREREQS__;
+
+plan tests => keys(%$TESTED_PREREQS) + 1;
+
+my @tests = map [ $_ => $TESTED_PREREQS->{$_} ], keys %$TESTED_PREREQS;
+push @tests, [ '__TARGET_PKG__' => '__TARGET_VERSION__' ];
+
+for my $test (@tests) {
+ my ($module, $version) = @$test;
+ local $@;
+ if ($version && $version !~ /^[0._]*$/) {
+  eval "use $module $version ()";
+  is $@, '', "$module v$version is available";
+ } else {
+  eval "use $module ()";
+  is $@, '', "any version of $module is available";
+ }
+}
 TEMPLATE
 );
 
diff --git a/t/01-deps.t b/t/01-deps.t
new file mode 100644 (file)
index 0000000..0859332
--- /dev/null
@@ -0,0 +1,35 @@
+#!perl
+
+use strict;
+use warnings;
+
+use Test::More;
+
+my $TESTED_PREREQS = {
+ 'Browser::Open'               => '0',
+ 'Digest::MD5'                 => '0',
+ 'JSON::PP'                    => '0',
+ 'PPI::HTML'                   => '1.07',
+ 'Parallel::Iterator'          => '0',
+ 'Pod::Coverage'               => '0.06',
+ 'Pod::Coverage::CountParents' => '0',
+ 'Storable'                    => '0',
+ 'Template'                    => '2.00',
+};
+
+plan tests => keys(%$TESTED_PREREQS) + 1;
+
+my @tests = map [ $_ => $TESTED_PREREQS->{$_} ], keys %$TESTED_PREREQS;
+push @tests, [ 'Devel::Cover' => '0.93' ];
+
+for my $test (@tests) {
+ my ($module, $version) = @$test;
+ local $@;
+ if ($version && $version !~ /^[0._]*$/) {
+  eval "use $module $version ()";
+  is $@, '', "$module v$version is available";
+ } else {
+  eval "use $module ()";
+  is $@, '', "any version of $module is available";
+ }
+}