Perl's garbage collection has one big problem: Circular references can't get
cleaned up. The above example is the sort of thing that sometimes trips me up,
where a code reference inside a data structure refers to another part of the
data structure. There already exists a good testing module to find these sort of
problems: Test::Memory::Cycle, so why write this one? Well that module uses
Test::Builder, and this one instead uses Test2::API. If you want to write
Test2::Suite tests without pulling in Test::Builder then this is the cycle
testing module for you.
Test2::Tools::MemoryCycle also uses the standard Exporter interface, instead of
letting you specify a test plan. That behavior was once in vogue I guess, but I
do not care for it.
*: Change *_DEPENDS from p5-Test2-Suite to p5-Test-Simple
- Bump PORTREVISION of the following dependent ports for dependency change
- databases/p5-DBIx-QuickDB
- devel/p5-Shell-Config-Generate
- devel/p5-Test-Archive-Libarchive
- devel/p5-Test-Future-IO-Impl
- devel/p5-Test2-Harness
- devel/p5-Test2-Harness-UI
- devel/p5-Test2-Plugin-DBIProfile
Test2-Suite has been merged into Test-Simple since 1.302200.
Reference: https://metacpan.org/dist/Test-Simple/changes
devel/p5-Test2-Tools-MemoryCycle: Add p5-Test2-Tools-MemoryCycle 0.01
Perl's garbage collection has one big problem: Circular references can't get
cleaned up. The above example is the sort of thing that sometimes trips me up,
where a code reference inside a data structure refers to another part of the
data structure. There already exists a good testing module to find these sort of
problems: Test::Memory::Cycle, so why write this one? Well that module uses
Test::Builder, and this one instead uses Test2::API. If you want to write
Test2::Suite tests without pulling in Test::Builder then this is the cycle
testing module for you.
Test2::Tools::MemoryCycle also uses the standard Exporter interface, instead of
letting you specify a test plan. That behavior was once in vogue I guess, but I
do not care for it.