Couple more skips/clarifications (not applicable to master)
[dbsrgits/DBIx-Class.git] / xt / podcoverage.t
index 71ec4de..5a683fe 100644 (file)
@@ -3,10 +3,13 @@ use strict;
 
 use Test::More;
 use List::Util 'first';
-use lib qw(t/lib .generated_pod);
+use lib qw(t/lib maint/.Generated_Pod/lib);
 use DBICTest;
 use namespace::clean;
 
+plan skip_all => "Skipping finicky test on older perl"
+  if "$]" < 5.008005;
+
 require DBIx::Class;
 unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_podcoverage') ) {
   my $missing = DBIx::Class::Optional::Dependencies->req_missing_for ('test_podcoverage');
@@ -15,6 +18,9 @@ unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_podcoverage') )
     : plan skip_all => "Test needs: $missing"
 }
 
+# this has already been required but leave it here for CPANTS static analysis
+require Test::Pod::Coverage;
+
 # 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
@@ -47,11 +53,6 @@ my $exceptions = {
             MULTICREATE_DEBUG
         /],
     },
-    'DBIx::Class::Storage::TxnScopeGuard' => {
-        ignore => [qw/
-            IS_BROKEN_PERL
-        /],
-    },
     'DBIx::Class::FilterColumn' => {
         ignore => [qw/
             new
@@ -59,6 +60,8 @@ my $exceptions = {
             store_column
             get_column
             get_columns
+            get_dirty_columns
+            has_column_loaded
         /],
     },
     'DBIx::Class::ResultSource' => {
@@ -116,6 +119,7 @@ my $exceptions = {
     },
 
     'DBIx::Class::Admin::*'                         => { skip => 1 },
+    'DBIx::Class::Optional::Dependencies'           => { skip => 1 },
     'DBIx::Class::ClassResolver::PassThrough'       => { skip => 1 },
     'DBIx::Class::Componentised'                    => { skip => 1 },
     'DBIx::Class::AccessorGroup'                    => { skip => 1 },
@@ -133,6 +137,7 @@ my $exceptions = {
     'DBIx::Class::SQLMaker::LimitDialects'          => {},
 
 # internals
+    'DBIx::Class::_Util'                            => { skip => 1 },
     'DBIx::Class::SQLMaker*'                        => { skip => 1 },
     'DBIx::Class::SQLAHacks*'                       => { skip => 1 },
     'DBIx::Class::Storage::DBI*'                    => { skip => 1 },
@@ -173,6 +178,8 @@ foreach my $module (@modules) {
 
     skip ("$module exempt", 1) if ($ex->{skip});
 
+    skip ("$module not loadable", 1) unless eval "require $module";
+
     # build parms up from ignore list
     my $parms = {};
     $parms->{trustme} =