From nobody Mon Oct 03 17:12:23 2022 X-Original-To: dev-commits-ports-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Mh6pJ08zzz4djKL; Mon, 3 Oct 2022 17:12:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Mh6pH6j23z3VGL; Mon, 3 Oct 2022 17:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664817143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8sF7tyuwrEcW5qpysBdSYyd/cofMKYDTpw1dLnokHU=; b=scZSvQWQCe9zOD5S3noXONKDHE4Pd6CpP0Db4cUD+ZsYuP8wXifSHRDhNrC1QEuSy+QPUQ or5uro/mYhLUDHKMTi+XQt82r9rnSHaO/ECNp4LKPK8ud4IXSvSaIjegYWJf8JAxQ0HLJS PyCSqxh6V4yaPB80l2EdoYzGXTRWjt7oTGZLcUkEm6z3Hcxyt7J6rbG4ZjtD2USZc5EwHi xZIixocA8Cc6ajNbXPEHOSqjrGMCvtRIWUQyt/JBf03mdaEPwID9n3vPZ3HyBXuuMcYGsJ RbykFWq/N6Zt+gDPf1zZT1l/Kea0dDEGO/CdA+AGBRcLeYk/KO1D+rX5QvZzcA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Mh6pH5pKwzHFP; Mon, 3 Oct 2022 17:12:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 293HCNr0011439; Mon, 3 Oct 2022 17:12:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 293HCNNS011438; Mon, 3 Oct 2022 17:12:23 GMT (envelope-from git) Date: Mon, 3 Oct 2022 17:12:23 GMT Message-Id: <202210031712.293HCNNS011438@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Po-Chuan Hsieh Subject: git: a304d68eeb58 - main - devel/p5-Test2-Tools-MemoryCycle: Add p5-Test2-Tools-MemoryCycle 0.01 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-main@freebsd.org X-BeenThere: dev-commits-ports-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: sunpoet X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a304d68eeb584c13ac88e3a0bb12619e82e02cb7 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1664817143; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=g8sF7tyuwrEcW5qpysBdSYyd/cofMKYDTpw1dLnokHU=; b=YyMThOyQo0f5XXMDAgstO19mvYV0Vr3DQlteAK3uiNr1kDGTmmXTt/SS9ltCl3ZCIx9ZhH +JxYS3ckPRfTIJyUAkKyGR5oNlT/MSxHZBQTTvwjLROrZTUd6HTZEKhO0yDi/rx0auA7m5 F9t6JIGbUMZO0IEsdeblhuCB/NYmsAsa/lOVGaojIqxnpjgQg7nCF6SUrAl+f5A599E3Mh 2zlmHBUZF5O6WbOGusNdl4batA2EXncKIahdhWz/jxfTw2HlTtmjHM3vGSgz9JlpqZErUW x7fk30dyhd4zX7NIHk0eIkE33as9xGNl8+UoGGroer//8Y03c/S5MoWCZBdqBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1664817143; a=rsa-sha256; cv=none; b=X3zvPJjY8sO6zq/GAYEn9YiZjl6RPJbG20LM8LJ1BQUEwJnP3zn8oxFC223+nsLuFc42Vj PP75zXNG2IkfU7vXyP8IJ5h/Ws6uCtd40OeY8BuFh4WaMSYDLuTzOwopd9EXppws6a0j75 W50pJQxBAyTm6Jxn0dMk/a9W+ZgjhDw66AMQZyHjXPxJis+0uEF/kVCeraMygFFHi2K/Cq kGqPttLGM1fLfiay7qXmqV6W1EiZyIu6CUsXq7AaPkfx2rycgRcXEYpTph4PoiWy38p4Jr KOc+LNX7zlQoyosUpFXE9NpV791hWgrMvZIfGhxISaYRrwqAuNd8Rg03ErfBoA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by sunpoet: URL: https://cgit.FreeBSD.org/ports/commit/?id=a304d68eeb584c13ac88e3a0bb12619e82e02cb7 commit a304d68eeb584c13ac88e3a0bb12619e82e02cb7 Author: Po-Chuan Hsieh AuthorDate: 2022-10-03 16:56:34 +0000 Commit: Po-Chuan Hsieh 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 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