and
+ # a ghetto way of recognizing cperl without loading Config.pm
+ # the $] guard is there because touching $^V on pre-5.10 loads
+ # the entire utf8 stack (wtf!!!)
+ ( "$]" < 5.010 or $^V !~ /\d+c$/ )
+
+ and
+
# just don't check anything under RELEASE_TESTING
# a naive approach would be to simply whitelist both
# strict and warnings, but pre 5.10 there were even
# dead. In order to reduce hair-pulling make sure that ./inc/ is always there
-f 'Makefile.PL' and mkdir 'inc' and mkdir 'inc/.author';
+END {
+ if( my @finalest_tasks = (
+
+ ( !$ENV{DBICTEST_DIRTY_EXIT} ? () : sub {
+
+ my $exit = $?;
+ require POSIX;
+
+ # Crucial flushes in case we are piping things out (e.g. prove)
+ # Otherwise the last lines will never arrive at the receiver
+ close($_) for \*STDOUT, \*STDERR;
+
+ POSIX::_exit($exit);
+ } ),
+
+ )) {
+
+ # in the case of an early skip_all B may very well not have loaded
+ unless( $INC{"B.pm"} ) {
+ local ( $!, $^E, $?, $@ );
+ require B;
+ }
+
+ # Make sure we run after any cleanup in other END blocks
+ # ( push-to-end twice in a row )
+ push @{ B::end_av()->object_2svref }, sub {
+ push @{ B::end_av()->object_2svref }, @finalest_tasks;
+ }
+ }
+}
# make absolutely sure this is last
$anfang_loaded = 1;