Test::Memory::Cycle - Check for memory leaks and circular memory references
Version 1.06
Perl's garbage collection has one big problem: Circular references
can't get cleaned up. A circular reference can be as simple as two
references that refer to each other:
my $mom = {
name => "Marilyn Lester",
};
my $me = {
name => "Andy Lester",
mother => $mom,
};
$mom->{son} = $me;
Test::Memory::Cycle is built on top of Devel::Cycle to give
you an easy way to check for these circular references.
use Test::Memory::Cycle;
my $object = new MyObject;
# Do stuff with the object.
memory_cycle_ok( $object );
You can also use memory_cycle_exists() to make sure that you have a
cycle where you expect to have one.
Checks that $reference doesn't have any circular memory references.
Checks that $reference does have any circular memory references.
Checks that $reference doesn't have any circular memory references, but unlike
memory_cycle_ok this will also check for weakened cycles produced with
Scalar::Util's weaken .
Checks that $reference does have any circular memory references, but unlike
memory_cycle_exists this will also check for weakened cycles produced with
Scalar::Util's weaken .
Written by Andy Lester, <andy @ petdance.com> .
Please report any bugs or feature requests to
bug-test-memory-cycle at rt.cpan.org , or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Test::Memory::Cycle
You can also look for information at:
Thanks to the contributions of Stevan Little, and to Lincoln Stein for writing Devel::Cycle.
Copyright 2003-2016 Andy Lester.
This program is free software; you can redistribute it and/or modify
it under the terms of the Artistic License v2.0.
See http://www.perlfoundation.org/artistic_license_2_0 or the LICENSE
file that comes with the Test::Memory::Cycle distribution.
|