git: a10768d29980 - main - devel/py-noseofyeti: Python codec that provides an RSpec style DSL for Python.

From: Gleb Popov <arrowd_at_FreeBSD.org>
Date: Wed, 10 Aug 2022 16:07:06 UTC
The branch main has been updated by arrowd:

URL: https://cgit.FreeBSD.org/ports/commit/?id=a10768d299802863971d0eab42901f7f4440e59e

commit a10768d299802863971d0eab42901f7f4440e59e
Author:     Kubilay Kocak <koobs@FreeBSD.org>
AuthorDate: 2022-08-09 16:18:12 +0000
Commit:     Gleb Popov <arrowd@FreeBSD.org>
CommitDate: 2022-08-10 16:06:39 +0000

    devel/py-noseofyeti: Python codec that provides an RSpec style DSL for Python.
---
 devel/Makefile                |  1 +
 devel/py-noseofyeti/Makefile  | 27 +++++++++++++++++++++++++++
 devel/py-noseofyeti/distinfo  |  3 +++
 devel/py-noseofyeti/pkg-descr | 12 ++++++++++++
 4 files changed, 43 insertions(+)

diff --git a/devel/Makefile b/devel/Makefile
index ae05a4d38699..4de4a5430435 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4810,6 +4810,7 @@
     SUBDIR += py-nose-cov
     SUBDIR += py-nose-timer
     SUBDIR += py-nose2
+    SUBDIR += py-noseofyeti
     SUBDIR += py-nosexcover
     SUBDIR += py-notebook-shim
     SUBDIR += py-notify2
diff --git a/devel/py-noseofyeti/Makefile b/devel/py-noseofyeti/Makefile
new file mode 100644
index 000000000000..de80fd0caddf
--- /dev/null
+++ b/devel/py-noseofyeti/Makefile
@@ -0,0 +1,27 @@
+PORTNAME=	noseofyeti
+DISTVERSIONPREFIX=release-
+DISTVERSION=	2.3.1
+CATEGORIES=	devel python
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	arrowd@FreeBSD.org
+COMMENT=	Python codec that provides an RSpec style DSL for Python
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+TEST_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pytest>0:devel/py-pytest@${PY_FLAVOR} \
+		${PYTHON_PKGNAMEPREFIX}pytest-helpers-namespace>0:devel/py-pytest-helpers-namespace@${PY_FLAVOR}
+
+USES=		python
+USE_GITHUB=	yes
+USE_PYTHON=	autoplist concurrent distutils
+
+GH_ACCOUNT=	delfick
+GH_PROJECT=	nose-of-yeti
+
+do-test:
+	@cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -o addopts= \
+	-k 'not test_registering_codec_doesnt_lead_to_error'
+
+.include <bsd.port.mk>
diff --git a/devel/py-noseofyeti/distinfo b/devel/py-noseofyeti/distinfo
new file mode 100644
index 000000000000..be5dbba570de
--- /dev/null
+++ b/devel/py-noseofyeti/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1660010121
+SHA256 (delfick-nose-of-yeti-release-2.3.1_GH0.tar.gz) = 869e47844c1c8a882f39573af79204a8087f19e0788d3c869d7b5dee549db0ca
+SIZE (delfick-nose-of-yeti-release-2.3.1_GH0.tar.gz) = 32219
diff --git a/devel/py-noseofyeti/pkg-descr b/devel/py-noseofyeti/pkg-descr
new file mode 100644
index 000000000000..cd5390df732c
--- /dev/null
+++ b/devel/py-noseofyeti/pkg-descr
@@ -0,0 +1,12 @@
+noseOfYeti creates a custom Python codec that lets you write your tests using an
+RSpec inspired DSL (i.e. `describe` and `it` blocks). It uses the fact that you
+can register a codec that is able to modify a Python file before executing it.
+Using this we can make it so that when Python imports a file with a particular
+encoding as the first line of the file it will be intercepted and potentially
+rewritten into something else before the import continues.
+
+noseOfYeti uses this technique to translate from the DSL it defines, into
+Python classes and functions that then will be executed by your test framework
+of choice.
+
+WWW: https://github.com/delfick/nose-of-yeti