Revert part of bbcc1fe8 - the 'queue unstick hack' belongs in DBICTest
[dbsrgits/DBIx-Class.git] / t / lib / DBICTest.pm
index c0c91c2..849caa1 100644 (file)
@@ -4,6 +4,25 @@ 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 {
+  # FIXME - there probably is some way to determine a harness run (T::H or
+  # prove) but I do not know it offhand, especially on older environments
+  # Go with the safer option
+  if ($INC{'Test/Builder.pm'}) {
+    local $| = 1;
+    print "#\n";
+  }
+}
+
+
 use DBICTest::Util qw( local_umask await_flock dbg DEBUG_TEST_CONCURRENCY_LOCKS );
 use DBICTest::Schema;
 use DBICTest::Util::LeakTracer qw/populate_weakregistry assert_empty_weakregistry/;