Adjust tests for new Moo
[dbsrgits/DBIx-Class.git] / t / 52leaks.t
index 61a5d2c..7b51dc4 100644 (file)
@@ -111,6 +111,7 @@ unless (DBICTest::RunMode->is_plain) {
   require DBI;
   require DBD::SQLite;
   require FileHandle;
+  require Moo;
 
   %$weak_registry = ();
 }
@@ -362,6 +363,16 @@ for my $slot (keys %$weak_registry) {
     delete $weak_registry->{$slot}
       unless $cleared->{hash_merge_singleton}{$weak_registry->{$slot}{weakref}{behavior}}++;
   }
+  elsif (
+    $slot =~ /^Data::Dumper/
+      and
+    $weak_registry->{$slot}{stacktrace} =~ /\QDBIx::Class::ResultSource::RowParser::_mk_row_parser/
+  ) {
+    # there should be only one D::D object (used to construct the rowparser)
+    # more would indicate trouble
+    delete $weak_registry->{$slot}
+      unless $cleared->{mk_row_parser_dd_singleton}++;
+  }
   elsif (DBIx::Class::_ENV_::INVISIBLE_DOLLAR_AT and $slot =~ /^__TxnScopeGuard__FIXUP__/) {
     delete $weak_registry->{$slot}
   }