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;
require IPC::Open2;
for my $type (keys %$persistence_tests) { SKIP: {
- skip "$type module not found", 1
- unless eval "require $type";
+ unless (eval "require $type") {
+ # Don't terminate what we didn't start
+ delete $persistence_tests->{$type}{termcmd};
+ skip "$type module not found", 1;
+ }
my @cmd = @{$persistence_tests->{$type}{cmd}};
unless ($ENV{DBICTEST_IN_PERSISTENT_ENV}) {
close $_ for (*STDIN, *STDOUT, *STDERR);
local $?; # otherwise test will inherit $? of the system()
- system (@{$persistence_tests->{PPerl}{termcmd}});
+ system (@{$persistence_tests->{PPerl}{termcmd}})
+ if $persistence_tests->{PPerl}{termcmd};
}
}