aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKubilay Kocak <koobs@FreeBSD.org>2022-08-09 16:18:12 +0000
committerGleb Popov <arrowd@FreeBSD.org>2022-08-10 16:06:39 +0000
commita10768d299802863971d0eab42901f7f4440e59e (patch)
tree365a73b5801b9059ab82ab04a7a597bbd8906e89
parent00ea6c8db1e592cdabad18b6035c0574f86ca633 (diff)
downloadports-a10768d299802863971d0eab42901f7f4440e59e.tar.gz
ports-a10768d299802863971d0eab42901f7f4440e59e.zip
devel/py-noseofyeti: Python codec that provides an RSpec style DSL for Python.
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-noseofyeti/Makefile27
-rw-r--r--devel/py-noseofyeti/distinfo3
-rw-r--r--devel/py-noseofyeti/pkg-descr12
4 files changed, 43 insertions, 0 deletions
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