1Cycle(3)              User Contributed Perl Documentation             Cycle(3)
2
3
4

NAME

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

VERSION

10       Version 1.06
11

SYNOPSIS

13       Perl's garbage collection has one big problem: Circular references
14       can't get cleaned up.  A circular reference can be as simple as two
15       references that refer to each other:
16
17           my $mom = {
18               name => "Marilyn Lester",
19           };
20
21           my $me = {
22               name => "Andy Lester",
23               mother => $mom,
24           };
25           $mom->{son} = $me;
26
27       "Test::Memory::Cycle" is built on top of "Devel::Cycle" to give you an
28       easy way to check for these circular references.
29
30           use Test::Memory::Cycle;
31
32           my $object = new MyObject;
33           # Do stuff with the object.
34           memory_cycle_ok( $object );
35
36       You can also use memory_cycle_exists() to make sure that you have a
37       cycle where you expect to have one.
38

FUNCTIONS

40   "memory_cycle_ok( $reference, $msg )"
41       Checks that $reference doesn't have any circular memory references.
42
43   "memory_cycle_exists( $reference, $msg )"
44       Checks that $reference does have any circular memory references.
45
46   "weakened_memory_cycle_ok( $reference, $msg )"
47       Checks that $reference doesn't have any circular memory references, but
48       unlike "memory_cycle_ok" this will also check for weakened cycles
49       produced with Scalar::Util's "weaken".
50
51   "weakened_memory_cycle_exists( $reference, $msg )"
52       Checks that $reference does have any circular memory references, but
53       unlike "memory_cycle_exists" this will also check for weakened cycles
54       produced with Scalar::Util's "weaken".
55

AUTHOR

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

BUGS

60       Please report any bugs or feature requests to "bug-test-memory-cycle at
61       rt.cpan.org", or through the web interface at
62       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Test-Memory-Cycle>.  I
63       will be notified, and then you'll automatically be notified of progress
64       on your bug as I make changes.
65

SUPPORT

67       You can find documentation for this module with the perldoc command.
68
69           perldoc Test::Memory::Cycle
70
71       You can also look for information at:
72
73       •   AnnoCPAN: Annotated CPAN documentation
74
75           <http://annocpan.org/dist/Test-Memory-Cycle>
76
77       •   CPAN Ratings
78
79           <http://cpanratings.perl.org/d/Test-Memory-Cycle>
80
81       •   RT: CPAN's request tracker
82
83           <http://rt.cpan.org/NoAuth/Bugs.html?Dist=Test-Memory-Cycle>
84
85       •   Search CPAN
86
87           <http://search.cpan.org/dist/Test-Memory-Cycle>
88

ACKNOWLEDGEMENTS

90       Thanks to the contributions of Stevan Little, and to Lincoln Stein for
91       writing Devel::Cycle.
92
94       Copyright 2003-2016 Andy Lester.
95
96       This program is free software; you can redistribute it and/or modify it
97       under the terms of the Artistic License v2.0.
98
99       See http://www.perlfoundation.org/artistic_license_2_0 or the LICENSE
100       file that comes with the Test::Memory::Cycle distribution.
101
102
103
104perl v5.36.0                      2023-01-20                          Cycle(3)
Impressum