Start setting the 'c3' mro unambiguously everywhere
[dbsrgits/DBIx-Class.git] / xt / dist / pod_coverage.t
index 88bcb81..4505af4 100644 (file)
@@ -1,11 +1,12 @@
+BEGIN { do "./t/lib/ANFANG.pm" or die ( $@ || $! ) }
 use DBIx::Class::Optional::Dependencies -skip_all_without => 'test_podcoverage';
 
 use warnings;
 use strict;
 
 use Test::More;
-use List::Util 'first';
-use lib qw(t/lib maint/.Generated_Pod/lib);
+use Module::Runtime 'require_module';
+use lib 'maint/.Generated_Pod/lib';
 use DBICTest;
 use namespace::clean;
 
@@ -30,6 +31,7 @@ my $exceptions = {
         ignore => [qw/
             MODIFY_CODE_ATTRIBUTES
             component_base_class
+            inject_base
             mk_classdata
             mk_classaccessor
         /]
@@ -56,6 +58,7 @@ my $exceptions = {
             store_column
             get_column
             get_columns
+            get_dirty_columns
             has_column_loaded
         /],
     },
@@ -164,7 +167,7 @@ foreach my $module (@modules) {
   SKIP: {
 
     my ($match) =
-      first { $module =~ $_ }
+      grep { $module =~ $_ }
       (sort { length $b <=> length $a || $b cmp $a } (keys %$ex_lookup) )
     ;
 
@@ -172,6 +175,8 @@ foreach my $module (@modules) {
 
     skip ("$module exempt", 1) if ($ex->{skip});
 
+    skip ("$module not loadable", 1) unless eval { require_module($module) };
+
     # build parms up from ignore list
     my $parms = {};
     $parms->{trustme} =