[Bast-commits] r9574 - in DBIx-Class/0.08/trunk: . t xt
ribasushi at dev.catalyst.perl.org
ribasushi at dev.catalyst.perl.org
Thu Jun 3 10:31:45 GMT 2010
Author: ribasushi
Date: 2010-06-03 11:31:45 +0100 (Thu, 03 Jun 2010)
New Revision: 9574
Added:
DBIx-Class/0.08/trunk/xt/
DBIx-Class/0.08/trunk/xt/eol.t
DBIx-Class/0.08/trunk/xt/notabs.t
DBIx-Class/0.08/trunk/xt/optional_deps.t
DBIx-Class/0.08/trunk/xt/pod.t
DBIx-Class/0.08/trunk/xt/podcoverage.t
Removed:
DBIx-Class/0.08/trunk/t/02pod.t
DBIx-Class/0.08/trunk/t/03podcoverage.t
DBIx-Class/0.08/trunk/t/06notabs.t
DBIx-Class/0.08/trunk/t/07eol.t
DBIx-Class/0.08/trunk/t/10optional_deps.t
Modified:
DBIx-Class/0.08/trunk/MANIFEST.SKIP
DBIx-Class/0.08/trunk/Makefile.PL
Log:
enter xt/ (RT#56698)
Modified: DBIx-Class/0.08/trunk/MANIFEST.SKIP
===================================================================
--- DBIx-Class/0.08/trunk/MANIFEST.SKIP 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/MANIFEST.SKIP 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,4 +1,4 @@
-^(?!script/|examples/|lib/|inc/|t/|Makefile.PL$|README$|MANIFEST$|Changes$|META.yml$)
+^(?!script/|examples/|lib/|inc/|t/|xt/|Makefile.PL$|README$|MANIFEST$|Changes$|META.yml$)
# Avoid version control files.
Modified: DBIx-Class/0.08/trunk/Makefile.PL
===================================================================
--- DBIx-Class/0.08/trunk/Makefile.PL 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/Makefile.PL 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,4 +1,4 @@
-use inc::Module::Install 0.93;
+use inc::Module::Install 0.97;
use strict;
use warnings;
use POSIX ();
@@ -135,9 +135,9 @@
}
# output twice since the deplist is > 70 lines
-warn $optdep_msg;
+warn $optdep_msg if $Module::Install::AUTHOR;
auto_install();
-warn $optdep_msg;
+warn $optdep_msg if $Module::Install::AUTHOR;
# re-create various autogenerated documentation bits
if ($Module::Install::AUTHOR) {
@@ -159,10 +159,16 @@
# PodInherit();
}
+
tests_recursive (qw|
t
|);
+# temporary(?) until I get around to fix M::I wrt xt/
+# needs Module::Install::AuthorTests
+recursive_author_tests (qw/xt/);
+
+
install_script (qw|
script/dbicadmin
|);
@@ -190,8 +196,7 @@
EOP
-
-
+homepage 'http://www.dbix-class.org/';
resources 'IRC' => 'irc://irc.perl.org/#dbix-class';
resources 'license' => 'http://dev.perl.org/licenses/';
resources 'repository' => 'git://git.shadowcat.co.uk/dbsrgits/DBIx-Class.git';
Deleted: DBIx-Class/0.08/trunk/t/02pod.t
===================================================================
--- DBIx-Class/0.08/trunk/t/02pod.t 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/t/02pod.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,21 +0,0 @@
-use warnings;
-use strict;
-
-use Test::More;
-use lib qw(t/lib);
-use DBICTest;
-
-# Don't run tests for installs
-unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
- plan( skip_all => "Author tests not required for installation" );
-}
-
-require DBIx::Class;
-unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_pod') ) {
- my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_pod');
- $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
- ? die ("Failed to load release-testing module requirements: $missing")
- : plan skip_all => "Test needs: $missing"
-}
-
-Test::Pod::all_pod_files_ok();
Deleted: DBIx-Class/0.08/trunk/t/03podcoverage.t
===================================================================
--- DBIx-Class/0.08/trunk/t/03podcoverage.t 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/t/03podcoverage.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,164 +0,0 @@
-use warnings;
-use strict;
-
-use Test::More;
-use List::Util 'first';
-use lib qw(t/lib);
-use DBICTest;
-use namespace::clean;
-
-# Don't run tests for installs
-unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
- plan( skip_all => "Author tests not required for installation" );
-}
-
-require DBIx::Class;
-unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_podcoverage') ) {
- my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_podcoverage');
- $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
- ? die ("Failed to load release-testing module requirements: $missing")
- : plan skip_all => "Test needs: $missing"
-}
-
-# Since this is about checking documentation, a little documentation
-# of what this is doing might be in order.
-# The exceptions structure below is a hash keyed by the module
-# name. Any * in a name is treated like a wildcard and will behave
-# as expected. Modules are matched by longest string first, so
-# A::B::C will match even if there is A::B*
-
-# The value for each is a hash, which contains one or more
-# (although currently more than one makes no sense) of the following
-# things:-
-# skip => a true value means this module is not checked
-# ignore => array ref containing list of methods which
-# do not need to be documented.
-my $exceptions = {
- 'DBIx::Class' => {
- ignore => [qw/
- MODIFY_CODE_ATTRIBUTES
- component_base_class
- mk_classdata
- mk_classaccessor
- /]
- },
- 'DBIx::Class::Row' => {
- ignore => [qw/
- MULTICREATE_DEBUG
- /],
- },
- 'DBIx::Class::FilterColumn' => {
- ignore => [qw/
- new
- update
- store_column
- get_column
- get_columns
- /],
- },
- 'DBIx::Class::ResultSource' => {
- ignore => [qw/
- compare_relationship_keys
- pk_depends_on
- resolve_condition
- resolve_join
- resolve_prefetch
- /],
- },
- 'DBIx::Class::ResultSourceHandle' => {
- ignore => [qw/
- schema
- source_moniker
- /],
- },
- 'DBIx::Class::Storage' => {
- ignore => [qw/
- schema
- cursor
- /]
- },
- 'DBIx::Class::Schema' => {
- ignore => [qw/
- setup_connection_class
- /]
- },
-
- 'DBIx::Class::Schema::Versioned' => {
- ignore => [ qw/
- connection
- /]
- },
-
- 'DBIx::Class::Admin' => {
- ignore => [ qw/
- BUILD
- /]
- },
-
- 'DBIx::Class::Storage::DBI::Replicated*' => {
- ignore => [ qw/
- connect_call_do_sql
- disconnect_call_do_sql
- /]
- },
-
- 'DBIx::Class::Admin::*' => { skip => 1 },
- 'DBIx::Class::ClassResolver::PassThrough' => { skip => 1 },
- 'DBIx::Class::Componentised' => { skip => 1 },
- 'DBIx::Class::Relationship::*' => { skip => 1 },
- 'DBIx::Class::ResultSetProxy' => { skip => 1 },
- 'DBIx::Class::ResultSourceProxy' => { skip => 1 },
- 'DBIx::Class::Storage::Statistics' => { skip => 1 },
- 'DBIx::Class::Storage::DBI::Replicated::Types' => { skip => 1 },
-
-# test some specific components whose parents are exempt below
- 'DBIx::Class::Relationship::Base' => {},
-
-# internals
- 'DBIx::Class::SQLAHacks*' => { skip => 1 },
- 'DBIx::Class::Storage::DBI*' => { skip => 1 },
- 'SQL::Translator::*' => { skip => 1 },
-
-# deprecated / backcompat stuff
- 'DBIx::Class::CDBICompat*' => { skip => 1 },
- 'DBIx::Class::ResultSetManager' => { skip => 1 },
- 'DBIx::Class::DB' => { skip => 1 },
-
-# skipped because the synopsis covers it clearly
- 'DBIx::Class::InflateColumn::File' => { skip => 1 },
-};
-
-my $ex_lookup = {};
-for my $string (keys %$exceptions) {
- my $ex = $exceptions->{$string};
- $string =~ s/\*/'.*?'/ge;
- my $re = qr/^$string$/;
- $ex_lookup->{$re} = $ex;
-}
-
-my @modules = sort { $a cmp $b } (Test::Pod::Coverage::all_modules());
-
-foreach my $module (@modules) {
- SKIP: {
-
- my ($match) =
- first { $module =~ $_ }
- (sort { length $b <=> length $a || $b cmp $a } (keys %$ex_lookup) )
- ;
-
- my $ex = $ex_lookup->{$match} if $match;
-
- skip ("$module exempt", 1) if ($ex->{skip});
-
- # build parms up from ignore list
- my $parms = {};
- $parms->{trustme} =
- [ map { qr/^$_$/ } @{ $ex->{ignore} } ]
- if exists($ex->{ignore});
-
- # run the test with the potentially modified parm set
- Test::Pod::Coverage::pod_coverage_ok($module, $parms, "$module POD coverage");
- }
-}
-
-done_testing;
Deleted: DBIx-Class/0.08/trunk/t/06notabs.t
===================================================================
--- DBIx-Class/0.08/trunk/t/06notabs.t 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/t/06notabs.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,24 +0,0 @@
-use warnings;
-use strict;
-
-use Test::More;
-use lib 't/lib';
-use DBICTest;
-
-# Don't run tests for installs
-unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
- plan( skip_all => "Author tests not required for installation" );
-}
-
-require DBIx::Class;
-unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_notabs') ) {
- my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_notabs');
- $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
- ? die ("Failed to load release-testing module requirements: $missing")
- : plan skip_all => "Test needs: $missing"
-}
-
-Test::NoTabs::all_perl_files_ok(qw/t lib script maint/);
-
-# FIXME - need to fix Test::NoTabs
-#done_testing;
Deleted: DBIx-Class/0.08/trunk/t/07eol.t
===================================================================
--- DBIx-Class/0.08/trunk/t/07eol.t 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/t/07eol.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,29 +0,0 @@
-use warnings;
-use strict;
-
-use Test::More;
-use lib 't/lib';
-use DBICTest;
-
-# Don't run tests for installs
-unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
- plan( skip_all => "Author tests not required for installation" );
-}
-
-plan skip_all => 'Test::EOL very broken';
-
-require DBIx::Class;
-unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_eol') ) {
- my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_eol');
- $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
- ? die ("Failed to load release-testing module requirements: $missing")
- : plan skip_all => "Test needs: $missing"
-}
-
-TODO: {
- local $TODO = 'Do not fix those yet - we have way too many branches out there, merging will be hell';
- Test::EOL::all_perl_files_ok({ trailing_whitespace => 1}, qw/t lib script maint/);
-}
-
-# FIXME - need to fix Test::EOL
-#done_testing;
Deleted: DBIx-Class/0.08/trunk/t/10optional_deps.t
===================================================================
--- DBIx-Class/0.08/trunk/t/10optional_deps.t 2010-06-03 10:26:00 UTC (rev 9573)
+++ DBIx-Class/0.08/trunk/t/10optional_deps.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -1,70 +0,0 @@
-use strict;
-use warnings;
-no warnings qw/once/;
-
-use Test::More;
-use lib qw(t/lib);
-use Scalar::Util; # load before we break require()
-
-use_ok 'DBIx::Class::Optional::Dependencies';
-
-my $sqlt_dep = DBIx::Class::Optional::Dependencies->req_list_for ('deploy');
-is_deeply (
- [ keys %$sqlt_dep ],
- [ 'SQL::Translator' ],
- 'Correct deploy() dependency list',
-);
-
-# make module loading impossible, regardless of actual libpath contents
- at INC = (sub { die('Optional Dep Test') } );
-
-ok (
- ! DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
- 'deploy() deps missing',
-);
-
-like (
- DBIx::Class::Optional::Dependencies->req_missing_for ('deploy'),
- qr/^SQL::Translator \>\= \d/,
- 'expected missing string contents',
-);
-
-like (
- DBIx::Class::Optional::Dependencies->req_errorlist_for ('deploy')->{'SQL::Translator'},
- qr/Optional Dep Test/,
- 'custom exception found in errorlist',
-);
-
-
-#make it so module appears loaded
-$INC{'SQL/Translator.pm'} = 1;
-$SQL::Translator::VERSION = 999;
-
-ok (
- ! DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
- 'deploy() deps missing cached properly',
-);
-
-#reset cache
-%DBIx::Class::Optional::Dependencies::req_availability_cache = ();
-
-
-ok (
- DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
- 'deploy() deps present',
-);
-
-is (
- DBIx::Class::Optional::Dependencies->req_missing_for ('deploy'),
- '',
- 'expected null missing string',
-);
-
-is_deeply (
- DBIx::Class::Optional::Dependencies->req_errorlist_for ('deploy'),
- {},
- 'expected empty errorlist',
-);
-
-
-done_testing;
Copied: DBIx-Class/0.08/trunk/xt/eol.t (from rev 8925, DBIx-Class/0.08/trunk/t/07eol.t)
===================================================================
--- DBIx-Class/0.08/trunk/xt/eol.t (rev 0)
+++ DBIx-Class/0.08/trunk/xt/eol.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -0,0 +1,32 @@
+use warnings;
+use strict;
+
+use Test::More;
+use lib 't/lib';
+use DBICTest;
+
+# Don't run tests for installs
+unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
+ plan( skip_all => "Author tests not required for installation" );
+}
+
+plan skip_all => 'Test::EOL very broken';
+
+require DBIx::Class;
+unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_eol') ) {
+ my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_eol');
+ $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
+ ? die ("Failed to load release-testing module requirements: $missing")
+ : plan skip_all => "Test needs: $missing"
+}
+
+TODO: {
+ local $TODO = 'Do not fix those yet - we have way too many branches out there, merging will be hell';
+ Test::EOL::all_perl_files_ok({ trailing_whitespace => 1},
+ qw/t xt lib script/,
+ DBICTest::AuthorCheck->is_author ? ('maint') : (),
+ );
+}
+
+# FIXME - need to fix Test::EOL
+#done_testing;
Copied: DBIx-Class/0.08/trunk/xt/notabs.t (from rev 8925, DBIx-Class/0.08/trunk/t/06notabs.t)
===================================================================
--- DBIx-Class/0.08/trunk/xt/notabs.t (rev 0)
+++ DBIx-Class/0.08/trunk/xt/notabs.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -0,0 +1,27 @@
+use warnings;
+use strict;
+
+use Test::More;
+use lib 't/lib';
+use DBICTest;
+
+# Don't run tests for installs
+unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
+ plan( skip_all => "Author tests not required for installation" );
+}
+
+require DBIx::Class;
+unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_notabs') ) {
+ my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_notabs');
+ $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
+ ? die ("Failed to load release-testing module requirements: $missing")
+ : plan skip_all => "Test needs: $missing"
+}
+
+Test::NoTabs::all_perl_files_ok(
+ qw/t xt lib script/,
+ DBICTest::AuthorCheck->is_author ? ('maint') : (),
+);
+
+# FIXME - need to fix Test::NoTabs - doesn't work with done_testing
+#done_testing;
Copied: DBIx-Class/0.08/trunk/xt/optional_deps.t (from rev 8694, DBIx-Class/0.08/trunk/t/10optional_deps.t)
===================================================================
--- DBIx-Class/0.08/trunk/xt/optional_deps.t (rev 0)
+++ DBIx-Class/0.08/trunk/xt/optional_deps.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -0,0 +1,70 @@
+use strict;
+use warnings;
+no warnings qw/once/;
+
+use Test::More;
+use lib qw(t/lib);
+use Scalar::Util; # load before we break require()
+
+use_ok 'DBIx::Class::Optional::Dependencies';
+
+my $sqlt_dep = DBIx::Class::Optional::Dependencies->req_list_for ('deploy');
+is_deeply (
+ [ keys %$sqlt_dep ],
+ [ 'SQL::Translator' ],
+ 'Correct deploy() dependency list',
+);
+
+# make module loading impossible, regardless of actual libpath contents
+ at INC = (sub { die('Optional Dep Test') } );
+
+ok (
+ ! DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
+ 'deploy() deps missing',
+);
+
+like (
+ DBIx::Class::Optional::Dependencies->req_missing_for ('deploy'),
+ qr/^SQL::Translator \>\= \d/,
+ 'expected missing string contents',
+);
+
+like (
+ DBIx::Class::Optional::Dependencies->req_errorlist_for ('deploy')->{'SQL::Translator'},
+ qr/Optional Dep Test/,
+ 'custom exception found in errorlist',
+);
+
+
+#make it so module appears loaded
+$INC{'SQL/Translator.pm'} = 1;
+$SQL::Translator::VERSION = 999;
+
+ok (
+ ! DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
+ 'deploy() deps missing cached properly',
+);
+
+#reset cache
+%DBIx::Class::Optional::Dependencies::req_availability_cache = ();
+
+
+ok (
+ DBIx::Class::Optional::Dependencies->req_ok_for ('deploy'),
+ 'deploy() deps present',
+);
+
+is (
+ DBIx::Class::Optional::Dependencies->req_missing_for ('deploy'),
+ '',
+ 'expected null missing string',
+);
+
+is_deeply (
+ DBIx::Class::Optional::Dependencies->req_errorlist_for ('deploy'),
+ {},
+ 'expected empty errorlist',
+);
+
+
+done_testing;
Copied: DBIx-Class/0.08/trunk/xt/pod.t (from rev 8761, DBIx-Class/0.08/trunk/t/02pod.t)
===================================================================
--- DBIx-Class/0.08/trunk/xt/pod.t (rev 0)
+++ DBIx-Class/0.08/trunk/xt/pod.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -0,0 +1,21 @@
+use warnings;
+use strict;
+
+use Test::More;
+use lib qw(t/lib);
+use DBICTest;
+
+# Don't run tests for installs
+unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
+ plan( skip_all => "Author tests not required for installation" );
+}
+
+require DBIx::Class;
+unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_pod') ) {
+ my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_pod');
+ $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
+ ? die ("Failed to load release-testing module requirements: $missing")
+ : plan skip_all => "Test needs: $missing"
+}
+
+Test::Pod::all_pod_files_ok();
Copied: DBIx-Class/0.08/trunk/xt/podcoverage.t (from rev 9521, DBIx-Class/0.08/trunk/t/03podcoverage.t)
===================================================================
--- DBIx-Class/0.08/trunk/xt/podcoverage.t (rev 0)
+++ DBIx-Class/0.08/trunk/xt/podcoverage.t 2010-06-03 10:31:45 UTC (rev 9574)
@@ -0,0 +1,164 @@
+use warnings;
+use strict;
+
+use Test::More;
+use List::Util 'first';
+use lib qw(t/lib);
+use DBICTest;
+use namespace::clean;
+
+# Don't run tests for installs
+unless ( DBICTest::AuthorCheck->is_author || $ENV{AUTOMATED_TESTING} || $ENV{RELEASE_TESTING} ) {
+ plan( skip_all => "Author tests not required for installation" );
+}
+
+require DBIx::Class;
+unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_podcoverage') ) {
+ my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_podcoverage');
+ $ENV{RELEASE_TESTING} || DBICTest::AuthorCheck->is_author
+ ? die ("Failed to load release-testing module requirements: $missing")
+ : plan skip_all => "Test needs: $missing"
+}
+
+# Since this is about checking documentation, a little documentation
+# of what this is doing might be in order.
+# The exceptions structure below is a hash keyed by the module
+# name. Any * in a name is treated like a wildcard and will behave
+# as expected. Modules are matched by longest string first, so
+# A::B::C will match even if there is A::B*
+
+# The value for each is a hash, which contains one or more
+# (although currently more than one makes no sense) of the following
+# things:-
+# skip => a true value means this module is not checked
+# ignore => array ref containing list of methods which
+# do not need to be documented.
+my $exceptions = {
+ 'DBIx::Class' => {
+ ignore => [qw/
+ MODIFY_CODE_ATTRIBUTES
+ component_base_class
+ mk_classdata
+ mk_classaccessor
+ /]
+ },
+ 'DBIx::Class::Row' => {
+ ignore => [qw/
+ MULTICREATE_DEBUG
+ /],
+ },
+ 'DBIx::Class::FilterColumn' => {
+ ignore => [qw/
+ new
+ update
+ store_column
+ get_column
+ get_columns
+ /],
+ },
+ 'DBIx::Class::ResultSource' => {
+ ignore => [qw/
+ compare_relationship_keys
+ pk_depends_on
+ resolve_condition
+ resolve_join
+ resolve_prefetch
+ /],
+ },
+ 'DBIx::Class::ResultSourceHandle' => {
+ ignore => [qw/
+ schema
+ source_moniker
+ /],
+ },
+ 'DBIx::Class::Storage' => {
+ ignore => [qw/
+ schema
+ cursor
+ /]
+ },
+ 'DBIx::Class::Schema' => {
+ ignore => [qw/
+ setup_connection_class
+ /]
+ },
+
+ 'DBIx::Class::Schema::Versioned' => {
+ ignore => [ qw/
+ connection
+ /]
+ },
+
+ 'DBIx::Class::Admin' => {
+ ignore => [ qw/
+ BUILD
+ /]
+ },
+
+ 'DBIx::Class::Storage::DBI::Replicated*' => {
+ ignore => [ qw/
+ connect_call_do_sql
+ disconnect_call_do_sql
+ /]
+ },
+
+ 'DBIx::Class::Admin::*' => { skip => 1 },
+ 'DBIx::Class::ClassResolver::PassThrough' => { skip => 1 },
+ 'DBIx::Class::Componentised' => { skip => 1 },
+ 'DBIx::Class::Relationship::*' => { skip => 1 },
+ 'DBIx::Class::ResultSetProxy' => { skip => 1 },
+ 'DBIx::Class::ResultSourceProxy' => { skip => 1 },
+ 'DBIx::Class::Storage::Statistics' => { skip => 1 },
+ 'DBIx::Class::Storage::DBI::Replicated::Types' => { skip => 1 },
+
+# test some specific components whose parents are exempt below
+ 'DBIx::Class::Relationship::Base' => {},
+
+# internals
+ 'DBIx::Class::SQLAHacks*' => { skip => 1 },
+ 'DBIx::Class::Storage::DBI*' => { skip => 1 },
+ 'SQL::Translator::*' => { skip => 1 },
+
+# deprecated / backcompat stuff
+ 'DBIx::Class::CDBICompat*' => { skip => 1 },
+ 'DBIx::Class::ResultSetManager' => { skip => 1 },
+ 'DBIx::Class::DB' => { skip => 1 },
+
+# skipped because the synopsis covers it clearly
+ 'DBIx::Class::InflateColumn::File' => { skip => 1 },
+};
+
+my $ex_lookup = {};
+for my $string (keys %$exceptions) {
+ my $ex = $exceptions->{$string};
+ $string =~ s/\*/'.*?'/ge;
+ my $re = qr/^$string$/;
+ $ex_lookup->{$re} = $ex;
+}
+
+my @modules = sort { $a cmp $b } (Test::Pod::Coverage::all_modules());
+
+foreach my $module (@modules) {
+ SKIP: {
+
+ my ($match) =
+ first { $module =~ $_ }
+ (sort { length $b <=> length $a || $b cmp $a } (keys %$ex_lookup) )
+ ;
+
+ my $ex = $ex_lookup->{$match} if $match;
+
+ skip ("$module exempt", 1) if ($ex->{skip});
+
+ # build parms up from ignore list
+ my $parms = {};
+ $parms->{trustme} =
+ [ map { qr/^$_$/ } @{ $ex->{ignore} } ]
+ if exists($ex->{ignore});
+
+ # run the test with the potentially modified parm set
+ Test::Pod::Coverage::pod_coverage_ok($module, $parms, "$module POD coverage");
+ }
+}
+
+done_testing;
More information about the Bast-commits
mailing list