From: Peter Rabbitson Date: Thu, 17 Jul 2014 12:22:24 +0000 (+0200) Subject: Move the "special loading" check to DBICTest::Util X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=bbcc1fe88ebe43eae92ed14348299d70b8991f32;p=dbsrgits%2FDBIx-Class-Historic.git Move the "special loading" check to DBICTest::Util No functional changes --- diff --git a/t/lib/DBICTest.pm b/t/lib/DBICTest.pm index 7bc3dde..aa20b0c 100644 --- a/t/lib/DBICTest.pm +++ b/t/lib/DBICTest.pm @@ -4,42 +4,9 @@ package # hide from PAUSE use strict; use warnings; -# this noop trick initializes the STDOUT, so that the TAP::Harness -# issued IO::Select->can_read calls (which are blocking wtf wtf wtf) -# keep spinning and scheduling jobs -# This results in an overall much smoother job-queue drainage, since -# the Harness blocks less -# (ideally this needs to be addressed in T::H, but a quick patchjob -# broke everything so tabling it for now) -BEGIN { - if ($INC{'Test/Builder.pm'}) { - local $| = 1; - print "#\n"; - } -} - -use Module::Runtime 'module_notional_filename'; -BEGIN { - for my $mod (qw( SQL::Abstract::Test SQL::Abstract )) { - if ( $INC{ module_notional_filename($mod) } ) { - # FIXME this does not seem to work in BEGIN - why?! - #require Carp; - #$Carp::Internal{ (__PACKAGE__) }++; - #Carp::croak( __PACKAGE__ . " must be loaded before $mod" ); - - my ($fr, @frame) = 1; - while (@frame = caller($fr++)) { - last if $frame[1] !~ m|^t/lib/DBICTest|; - } - - die __PACKAGE__ . " must be loaded before $mod (or modules using $mod) at $frame[1] line $frame[2]\n"; - } - } -} - +use DBICTest::Util 'local_umask'; use DBICTest::Schema; use DBICTest::Util::LeakTracer qw/populate_weakregistry assert_empty_weakregistry/; -use DBICTest::Util 'local_umask'; use Carp; use Path::Class::File (); use File::Spec; diff --git a/t/lib/DBICTest/Util.pm b/t/lib/DBICTest/Util.pm index 847fba8..a6c8dfd 100644 --- a/t/lib/DBICTest/Util.pm +++ b/t/lib/DBICTest/Util.pm @@ -3,6 +3,39 @@ package DBICTest::Util; use warnings; use strict; +# this noop trick initializes the STDOUT, so that the TAP::Harness +# issued IO::Select->can_read calls (which are blocking wtf wtf wtf) +# keep spinning and scheduling jobs +# This results in an overall much smoother job-queue drainage, since +# the Harness blocks less +# (ideally this needs to be addressed in T::H, but a quick patchjob +# broke everything so tabling it for now) +BEGIN { + if ($INC{'Test/Builder.pm'}) { + local $| = 1; + print "#\n"; + } +} + +use Module::Runtime 'module_notional_filename'; +BEGIN { + for my $mod (qw( SQL::Abstract::Test SQL::Abstract )) { + if ( $INC{ module_notional_filename($mod) } ) { + # FIXME this does not seem to work in BEGIN - why?! + #require Carp; + #$Carp::Internal{ (__PACKAGE__) }++; + #Carp::croak( __PACKAGE__ . " must be loaded before $mod" ); + + my ($fr, @frame) = 1; + while (@frame = caller($fr++)) { + last if $frame[1] !~ m|^t/lib/DBICTest|; + } + + die __PACKAGE__ . " must be loaded before $mod (or modules using $mod) at $frame[1] line $frame[2]\n"; + } + } +} + use Config; use Carp 'confess'; use Scalar::Util qw(blessed refaddr);