Perl Diver 2.31
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Test::Memory::Cycle

Name Test::Memory::Cycle
Version 1.06
Located at /usr/local/share/perl5
File /usr/local/share/perl5/Test/Memory/Cycle.pm
Is Core No
Search CPAN for this module Test::Memory::Cycle
Documentation Test::Memory::Cycle
Module Details Test::Memory::Cycle

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


ACKNOWLEDGEMENTS

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


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 Diver brought to you by ScriptSolutions.com © 1997- 2024