Updated to 3.020000

Updated DESCR

Upstream changes:
3.020000 July 2012
       * new destructor_method option

3.018000 June 2012
       * new options ignore_preds, ignore_object, ignore_objects

3.016000 May 2012
       * new ignore_class and ignore_classes options

3.014000 February 2012
       * tests force Dumper sortkeys

3.012000 February 2012
       * tests allow for "at line 123." with a "."

3.010000 February 2012
       * constructor can return multiple values

3.008000 January 2012
       * Try for Perl 5.6.0 too.
       * XSUB bits in the main docs.
       * Slightly more compact SYNOPSIS.

3.007_001 Sun Jan  6 19:58:00 PST 2012
       * Cope with some tied glob warnings of perl 5.14 and up.

3.007_000 Sun Jan  1 17:29:41 PST 2012
       * New developer's release
       * Add Kevin Ryde's XSUB doc
This commit is contained in:
wen 2012-09-15 14:43:53 +00:00
parent e28a680c12
commit abba807b09
3 changed files with 22 additions and 30 deletions

View file

@ -1,29 +1,21 @@
A memory leak occurs when a Perl data structure is destroyed but some of
the contents of that structure are not freed. Leaked memory is a useless
overhead. Leaks can significantly impact system performance. They can also
Test::Weaken helps detect unfreed Perl data in arrays, hashes, scalars,
objects, etc, by descending recursively through structures and watching
that everything is freed. Unfreed data is a useless overhead and may
cause an application to abend due to lack of memory.
In Perl, circular references are a common cause of memory leaks. Circular
references are allowed in Perl, but data structures containing circular
references will leak memory unless the programmer takes specific measures
to prevent leaks. Preventive measures include weakening the references
and arranging to break the reference cycle just before the structure is
destroyed.
Normally if the last reference to something is discarded then it and
anything in it is freed automatically. But this might not occur due to
circular references, unexpected global variables or closures, or reference
counting mistakes in XSUBs.
When using circular references, it is easy to misdesign or misimplement a
scheme for preventing memory leaks. Mistakes of this kind have been hard to
detect in a test suite.
Test::Weaken is named for the strategy used to detect leaks. References
are taken to the test objects and all their contents, then those
references are weakened and expected to be then freed.
Test::Weaken allows easy detection of unfreed Perl data. Test::Weaken allows
you to examine the unfreed data, even data that would usually have been made
inaccessible.
There's options to ignore intentional globals, or include extra associated
data held elsewhere, or invoke an explicit destructor. Unfreed parts are
reported and can be passed to other modules such as Devel::FindRef to try
to discover why they weren't freed.
Test::Weaken frees the test structure, then looks to see if any of the
contents of the structure were not actually deallocated. By default,
Test::Weaken determines the contents of a data structure by examining
arrays and hashes, by following references, and by following tied variables
to their underlying object. Test::Weaken does this recursively to unlimited
depth.
Test::Weaken can deal with circular references without going into infinite
loops. Test::Weaken will not visit the same Perl data object twice.
Test::Weaken examines structures to an unlimited depth and is safe on
circular structures.

View file

@ -1,7 +1,7 @@
# $NetBSD: Makefile,v 1.5 2011/12/14 03:14:06 hiramatsu Exp $
# $NetBSD: Makefile,v 1.6 2012/09/15 14:43:53 wen Exp $
#
DISTNAME= Test-Weaken-3.006000
DISTNAME= Test-Weaken-3.020000
PKGNAME= p5-${DISTNAME:S/006000/006.000/}
CATEGORIES= devel perl5
MASTER_SITES= ${MASTER_SITE_PERL_CPAN:=Test/}

View file

@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.3 2011/12/14 03:14:06 hiramatsu Exp $
$NetBSD: distinfo,v 1.4 2012/09/15 14:43:53 wen Exp $
SHA1 (Test-Weaken-3.006000.tar.gz) = e041b9c8dce3c0fef7379ae938fea85f4a8e675a
RMD160 (Test-Weaken-3.006000.tar.gz) = 931feb93d8f83d0733b9150a77b05d11682c2138
Size (Test-Weaken-3.006000.tar.gz) = 37202 bytes
SHA1 (Test-Weaken-3.020000.tar.gz) = b8a7cc66560fe009ebca59dc5c910384d197369d
RMD160 (Test-Weaken-3.020000.tar.gz) = a0e69af72b772b1851f6b332adb1d74412ee567d
Size (Test-Weaken-3.020000.tar.gz) = 48026 bytes