X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F52cycle.t;h=b64be5c714e8b6e1a47353167d90abd32bb48ef4;hb=1c2ffef943bebdfb33eaf7217f171cb7fcfbced8;hp=145ad929527bd14de6e591fcbb730bb55a97e5fb;hpb=551e711a765052e8bdcb4ab704b5e05c5422330b;p=dbsrgits%2FDBIx-Class.git diff --git a/t/52cycle.t b/t/52cycle.t index 145ad92..b64be5c 100644 --- a/t/52cycle.t +++ b/t/52cycle.t @@ -5,15 +5,15 @@ use Test::More; use lib qw(t/lib); BEGIN { - eval { require Test::Memory::Cycle; require Devel::Cycle }; - if ($@ or Devel::Cycle->VERSION < 1.10) { - plan skip_all => "leak test needs Test::Memory::Cycle and Devel::Cycle >= 1.10"; - }; + require DBIx::Class; + plan skip_all => 'Test needs: ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_cycle') + unless ( DBIx::Class::Optional::Dependencies->req_ok_for ('test_cycle') ); } use DBICTest; use DBICTest::Schema; -use Scalar::Util (); +use Scalar::Util 'weaken'; +use namespace::clean; import Test::Memory::Cycle; @@ -21,8 +21,18 @@ my $weak; { my $s = $weak->{schema} = DBICTest->init_schema; + ok ($s->storage->connected, 'we are connected'); memory_cycle_ok($s, 'No cycles in schema'); + my $storage = $weak->{storage} = $s->storage; + memory_cycle_ok($storage, 'No cycles in storage'); + + my $dbh = $weak->{dbh} = $s->storage->_get_dbh; + memory_cycle_ok($dbh, 'No cycles in DBI handle'); + + my $sqla = $weak->{sqla} = $s->storage->sql_maker; + memory_cycle_ok($sqla, 'No cycles in SQL maker'); + my $rs = $weak->{resultset} = $s->resultset ('Artist'); memory_cycle_ok($rs, 'No cycles in resultset'); @@ -32,7 +42,7 @@ my $weak; my $row = $weak->{row} = $rs->first; memory_cycle_ok($row, 'No cycles in row'); - Scalar::Util::weaken ($_) for values %$weak; + weaken $_ for values %$weak; memory_cycle_ok($weak, 'No cycles in weak object collection'); }