Silence pesky Devel::Cycle warning in leak test on 5.12+
Peter Rabbitson [Sun, 21 Apr 2013 07:08:07 +0000 (09:08 +0200)]
t/52leaks.t

index f1d11af..4bc48ab 100644 (file)
@@ -302,7 +302,15 @@ my @compose_ns_classes;
 
   SKIP: {
     if ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_leaks') ) {
-      Test::Memory::Cycle::memory_cycle_ok ($base_collection, 'No cycles in the object collection')
+      my @w;
+      local $SIG{__WARN__} = sub { $_[0] =~ /\QUnhandled type: REGEXP/ ? push @w, @_ : warn @_ };
+
+      Test::Memory::Cycle::memory_cycle_ok ($base_collection, 'No cycles in the object collection');
+
+      if ( $] > 5.011 ) {
+        local $TODO = 'Silence warning due to RT56681';
+        is (@w, 0, 'No Devel::Cycle emitted warnings');
+      }
     }
     else {
       skip 'Circular ref test needs ' .  DBIx::Class::Optional::Dependencies->req_missing_for ('test_leaks'), 1;