From 1f9c8426a9bf1c94a6cf00edd85628d1c09e22e0 Mon Sep 17 00:00:00 2001 From: Gianni Ceccarelli Date: Thu, 23 Apr 2009 15:04:07 +0200 Subject: new tests --- Makefile.PL | 1 + t/00-author-critic.t | 33 +++++++++++++++++++++++++++++++++ t/00-author-deps.t | 6 ------ t/00-author-minver.t | 33 +++++++++++++++++++++++++++++++++ t/00-author-pod-cover.t | 7 ------- t/00-author-pod.t | 35 +++++++++++++++++++++++++++++++---- 6 files changed, 98 insertions(+), 17 deletions(-) create mode 100644 t/00-author-critic.t delete mode 100644 t/00-author-deps.t create mode 100644 t/00-author-minver.t delete mode 100644 t/00-author-pod-cover.t diff --git a/Makefile.PL b/Makefile.PL index 8912266..1971a86 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -11,6 +11,7 @@ requires 'Tree::XPathEngine' => 0, 'Carp::Clan' => 0, 'Sub::Exporter' => 0, 'MooseX::AttributeHelpers' => 0, + 'perl' => '5.6.0', ; test_requires 'Test::Most' => 0, diff --git a/t/00-author-critic.t b/t/00-author-critic.t new file mode 100644 index 0000000..d0a133a --- /dev/null +++ b/t/00-author-critic.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +# Test that the module passes perlcritic +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Perl::Critic 1.098', + 'Test::Perl::Critic 1.01', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} +Test::Perl::Critic->import( -exclude => ['ProhibitSubroutinePrototypes']); +all_critic_ok(); + +1; diff --git a/t/00-author-deps.t b/t/00-author-deps.t deleted file mode 100644 index f92ec06..0000000 --- a/t/00-author-deps.t +++ /dev/null @@ -1,6 +0,0 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Dependencies exclude => [qw(Tree::Transform::XSLTish XML::LibXML Moose::Util::TypeConstraints)]"; - -ok_dependencies(); diff --git a/t/00-author-minver.t b/t/00-author-minver.t new file mode 100644 index 0000000..4dfb876 --- /dev/null +++ b/t/00-author-minver.t @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +# Test that our declared minimum Perl version matches our syntax +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Perl::MinimumVersion 1.20', + 'Test::MinimumVersion 0.008', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} + +all_minimum_version_from_metayml_ok(); + +1; diff --git a/t/00-author-pod-cover.t b/t/00-author-pod-cover.t deleted file mode 100644 index 9bace3e..0000000 --- a/t/00-author-pod-cover.t +++ /dev/null @@ -1,7 +0,0 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Pod::Coverage"; -all_pod_coverage_ok({ - trustme=> [qr(^new_transformer$)], -}); diff --git a/t/00-author-pod.t b/t/00-author-pod.t index 5177b0c..2cdfcc4 100644 --- a/t/00-author-pod.t +++ b/t/00-author-pod.t @@ -1,6 +1,33 @@ -#!perl -use Test::Most; -plan skip_all => "skipping author-only test" unless $ENV{RUN_AUTHOR_TESTS}; -eval "use Test::Pod"; +#!/usr/bin/perl + +# Test that the syntax of our POD documentation is valid +use strict; +BEGIN { + $| = 1; + $^W = 1; +} + +my @MODULES = ( + 'Pod::Simple 3.07', + 'Test::Pod 1.26', +); + +# Don't run tests during end-user installs +use Test::More; +unless ( $ENV{AUTOMATED_TESTING} or $ENV{RELEASE_TESTING} ) { + plan( skip_all => "Author tests not required for installation" ); +} + +# Load the testing modules +foreach my $MODULE ( @MODULES ) { + eval "use $MODULE"; + if ( $@ ) { + $ENV{RELEASE_TESTING} + ? die( "Failed to load required release-testing module $MODULE" ) + : plan( skip_all => "$MODULE not available for testing" ); + } +} all_pod_files_ok(); + +1; -- cgit v1.2.3