Test::Memory::Cycle.3pm

Langue: en

Version: 2006-08-07 (fedora - 01/12/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Test::Memory::Cycle - Check for memory leaks and circular memory references

VERSION

Version 1.04

SYNOPSIS

Perl's garbage collection has one big problem: Circular references can't get cleaned up. A circular reference can be as simple as two reference 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.

FUNCTIONS

memory_cycle_ok( $reference, $msg )

Checks that $reference doesn't have any circular memory references.

memory_cycle_exists( $reference, $msg )

Checks that $reference does have any circular memory references.

weakened_memory_cycle_ok( $reference, $msg )

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".

weakened_memory_cycle_exists( $reference, $msg )

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".

AUTHOR

Written by Andy Lester, "<andy @ petdance.com>".

BUGS

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?Queue=Test-Memory-Cycle <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Memory-Cycle>. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.
     perldoc Test::Memory::Cycle
 
 

You can also look for information at:

*
AnnoCPAN: Annotated CPAN documentation

http://annocpan.org/dist/Test-Memory-Cycle <http://annocpan.org/dist/Test-Memory-Cycle>

*
CPAN Ratings

http://cpanratings.perl.org/d/Test-Memory-Cycle <http://cpanratings.perl.org/d/Test-Memory-Cycle>

*
RT: CPAN's request tracker

http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Memory-Cycle <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Memory-Cycle>

*
Search CPAN

http://search.cpan.org/dist/Test-Memory-Cycle <http://search.cpan.org/dist/Test-Memory-Cycle>

ACKNOWLEDGEMENTS

Thanks to the contributions of Stevan Little, and to Lincoln Stein for writing Devel::Cycle. Copyright 2006, Andy Lester, All Rights Reserved.

You may use, modify, and distribute this package under the same terms as Perl itself.