git: a304d68eeb58 - main - devel/p5-Test2-Tools-MemoryCycle: Add p5-Test2-Tools-MemoryCycle 0.01
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 03 Oct 2022 17:12:23 UTC
The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=a304d68eeb584c13ac88e3a0bb12619e82e02cb7 commit a304d68eeb584c13ac88e3a0bb12619e82e02cb7 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2022-10-03 16:56:34 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2022-10-03 17:10:13 +0000 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. --- devel/Makefile | 1 + devel/p5-Test2-Tools-MemoryCycle/Makefile | 26 ++++++++++++++++++++++++++ devel/p5-Test2-Tools-MemoryCycle/distinfo | 3 +++ devel/p5-Test2-Tools-MemoryCycle/pkg-descr | 12 ++++++++++++ devel/p5-Test2-Tools-MemoryCycle/pkg-plist | 2 ++ 5 files changed, 44 insertions(+) diff --git a/devel/Makefile b/devel/Makefile index dbe5c0e81b10..d6e214a2d6af 100644 --- a/devel/Makefile +++ b/devel/Makefile @@ -3562,6 +3562,7 @@ SUBDIR += p5-Test2-Suite SUBDIR += p5-Test2-Tools-Explain SUBDIR += p5-Test2-Tools-FFI + SUBDIR += p5-Test2-Tools-MemoryCycle SUBDIR += p5-Text-Levenshtein SUBDIR += p5-Text-Levenshtein-Damerau SUBDIR += p5-Text-LevenshteinXS diff --git a/devel/p5-Test2-Tools-MemoryCycle/Makefile b/devel/p5-Test2-Tools-MemoryCycle/Makefile new file mode 100644 index 000000000000..31c9e97485c4 --- /dev/null +++ b/devel/p5-Test2-Tools-MemoryCycle/Makefile @@ -0,0 +1,26 @@ +PORTNAME= Test2-Tools-MemoryCycle +PORTVERSION= 0.01 +CATEGORIES= devel perl5 +MASTER_SITES= CPAN +MASTER_SITE_SUBDIR= CPAN:PLICEASE +PKGNAMEPREFIX= p5- + +MAINTAINER= sunpoet@FreeBSD.org +COMMENT= Check for memory leaks and circular memory references +WWW= https://metacpan.org/dist/Test2-Tools-MemoryCycle + +LICENSE= ART10 GPLv1+ +LICENSE_COMB= dual +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${RUN_DEPENDS} +RUN_DEPENDS= p5-Devel-Cycle>=0:devel/p5-Devel-Cycle \ + p5-PadWalker>=1.0:devel/p5-PadWalker +TEST_DEPENDS= p5-Test2-Suite>=0.000121:devel/p5-Test2-Suite + +USES= perl5 +USE_PERL5= configure + +NO_ARCH= yes + +.include <bsd.port.mk> diff --git a/devel/p5-Test2-Tools-MemoryCycle/distinfo b/devel/p5-Test2-Tools-MemoryCycle/distinfo new file mode 100644 index 000000000000..5a8c300f94cf --- /dev/null +++ b/devel/p5-Test2-Tools-MemoryCycle/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1664767802 +SHA256 (Test2-Tools-MemoryCycle-0.01.tar.gz) = 535b3dca542a33251512ade4b5a7dbebe3c448d83f880d198e43dc127979698b +SIZE (Test2-Tools-MemoryCycle-0.01.tar.gz) = 16292 diff --git a/devel/p5-Test2-Tools-MemoryCycle/pkg-descr b/devel/p5-Test2-Tools-MemoryCycle/pkg-descr new file mode 100644 index 000000000000..f61706006289 --- /dev/null +++ b/devel/p5-Test2-Tools-MemoryCycle/pkg-descr @@ -0,0 +1,12 @@ +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. diff --git a/devel/p5-Test2-Tools-MemoryCycle/pkg-plist b/devel/p5-Test2-Tools-MemoryCycle/pkg-plist new file mode 100644 index 000000000000..a9e18c1d2260 --- /dev/null +++ b/devel/p5-Test2-Tools-MemoryCycle/pkg-plist @@ -0,0 +1,2 @@ +%%SITE_PERL%%/Test2/Tools/MemoryCycle.pm +%%PERL5_MAN3%%/Test2::Tools::MemoryCycle.3.gz