aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-06-13 06:02:05 +0000
committerPo-Chuan Hsieh <sunpoet@FreeBSD.org>2025-06-13 06:02:05 +0000
commit02595040cb3ce77730ca535928a29f5e749e33dc (patch)
treeef86fa851877f82f9a702f632dcadb66a42f6007
parent551b8aac762ea63534bc35a1e614d3acecdb7dd4 (diff)
devel/py-pytest-cases: Add py-pytest-cases 3.8.6
Did you ever think that most of your test functions were actually the same test code, but with different data inputs and expected results/exceptions? - pytest-cases leverages pytest and its great @pytest.mark.parametrize decorator, so that you can separate your test cases from your test functions. - In addition, pytest-cases provides several useful goodies to empower pytest. In particular it improves the fixture mechanism to support "fixture unions". This is a major change in the internal pytest engine, unlocking many possibilities such as using fixture references as parameter values in a test function. See here. pytest-cases is fully compliant with pytest-harvest so you can easily monitor the execution times and created artifacts. With it, it becomes very easy to create a complete data science benchmark, for example comparing various models on various datasets.
-rw-r--r--MOVED1
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-pytest-cases/Makefile27
-rw-r--r--devel/py-pytest-cases/distinfo3
-rw-r--r--devel/py-pytest-cases/pkg-descr14
5 files changed, 45 insertions, 1 deletions
diff --git a/MOVED b/MOVED
index 265cdb6de988..2e01c32df05b 100644
--- a/MOVED
+++ b/MOVED
@@ -4472,7 +4472,6 @@ sysutils/py-upt-cpan||2025-06-02|Has expired: Depends on expired sysutils/py-upt
sysutils/py-upt-freebsd||2025-06-02|Has expired: Depends on expired sysutils/py-upt
sysutils/py-upt-rubygems||2025-06-02|Has expired: Depends on expired sysutils/py-upt
sysutils/py-upt-pypi||2025-06-02|Has expired: Depends on expired sysutils/py-upt
-devel/py-pytest-cases||2025-06-02|Has expired: Depends on expired devel/py-makefun
graphics/rubygem-ezprint||2025-06-02|Has expired: Depends on expired graphics/rubygem-pdfkit
databases/datasette||2025-06-02|Has expired: Depends on expired devel/py-pytest-runner
www/py-pydrive2||2025-06-02|Has expired: Depends on expired security/py-oauth2client
diff --git a/devel/Makefile b/devel/Makefile
index e9d24ea55e21..58b67ad4c413 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5666,6 +5666,7 @@
SUBDIR += py-pytest-cache
SUBDIR += py-pytest-canonical-data
SUBDIR += py-pytest-capturelog
+ SUBDIR += py-pytest-cases
SUBDIR += py-pytest-checkdocs
SUBDIR += py-pytest-codspeed
SUBDIR += py-pytest-console-scripts
diff --git a/devel/py-pytest-cases/Makefile b/devel/py-pytest-cases/Makefile
new file mode 100644
index 000000000000..5d0df73f5df9
--- /dev/null
+++ b/devel/py-pytest-cases/Makefile
@@ -0,0 +1,27 @@
+PORTNAME= pytest-cases
+PORTVERSION= 3.8.6
+CATEGORIES= devel python
+MASTER_SITES= PYPI
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+DISTNAME= pytest_cases-${PORTVERSION}
+
+MAINTAINER= sunpoet@FreeBSD.org
+COMMENT= Separate test code from test cases in pytest
+WWW= https://smarie.github.io/python-pytest-cases/ \
+ https://github.com/smarie/python-pytest-cases
+
+LICENSE= BSD3CLAUSE
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools>=39.2:devel/py-setuptools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}setuptools-scm>=0:devel/py-setuptools-scm@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wheel>=0:devel/py-wheel@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}decopatch>=0:devel/py-decopatch@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}makefun>=1.15.1:devel/py-makefun@${PY_FLAVOR}
+
+USES= python
+USE_PYTHON= autoplist concurrent pep517
+
+NO_ARCH= yes
+
+.include <bsd.port.mk>
diff --git a/devel/py-pytest-cases/distinfo b/devel/py-pytest-cases/distinfo
new file mode 100644
index 000000000000..d2baa863a07c
--- /dev/null
+++ b/devel/py-pytest-cases/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1747715416
+SHA256 (pytest_cases-3.8.6.tar.gz) = 5c24e0ab0cb6f8e802a469b7965906a333d3babb874586ebc56f7e2cbe1a7c44
+SIZE (pytest_cases-3.8.6.tar.gz) = 1092150
diff --git a/devel/py-pytest-cases/pkg-descr b/devel/py-pytest-cases/pkg-descr
new file mode 100644
index 000000000000..249fb7e59454
--- /dev/null
+++ b/devel/py-pytest-cases/pkg-descr
@@ -0,0 +1,14 @@
+Did you ever think that most of your test functions were actually the same test
+code, but with different data inputs and expected results/exceptions?
+- pytest-cases leverages pytest and its great @pytest.mark.parametrize
+ decorator, so that you can separate your test cases from your test functions.
+- In addition, pytest-cases provides several useful goodies to empower pytest.
+ In particular it improves the fixture mechanism to support "fixture unions".
+ This is a major change in the internal pytest engine, unlocking many
+ possibilities such as using fixture references as parameter values in a test
+ function. See here.
+
+pytest-cases is fully compliant with pytest-harvest so you can easily monitor
+the execution times and created artifacts. With it, it becomes very easy to
+create a complete data science benchmark, for example comparing various models
+on various datasets.