manpagez: man pages & more
man Test::Memory::Cycle(3)
Home | html | info | man
Cycle(3)              User Contributed Perl Documentation             Cycle(3)



NAME

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


VERSION

       Version 1.06


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


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

       o   AnnoCPAN: Annotated CPAN documentation

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

       o   CPAN Ratings

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

       o   RT: CPAN's request tracker

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

       o   Search CPAN

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


ACKNOWLEDGEMENTS

       Thanks to the contributions of Stevan Little, and to Lincoln Stein for
       writing Devel::Cycle(3).


COPYRIGHT

       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.

perl v5.34.1                      2016-01-28                          Cycle(3)

test-memory-cycle 1.60.0 - Generated Thu Sep 4 07:40:04 CDT 2025
© manpagez.com 2000-2025
Individual documents may contain additional copyright information.