aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Marakasov <amdmi3@FreeBSD.org>2022-03-18 16:24:00 +0000
committerDmitry Marakasov <amdmi3@FreeBSD.org>2022-03-18 17:11:37 +0000
commit7db055349957ee7f79e5c2452430c71a3e86b6eb (patch)
tree0a759cdd00cadcc45411cfa2a28049ba11d50538
parent061c21c27345dcfca14c2fbed7e0e15472398cb4 (diff)
downloadports-7db055349957ee7f79e5c2452430c71a3e86b6eb.tar.gz
ports-7db055349957ee7f79e5c2452430c71a3e86b6eb.zip
devel/py-pytest4: preserve 4.x version of devel/py-pytest
- Preserve 4.x version of pytest for the ports which are not compatible with pytest 6.x. This is a prerequisite for updating pytest. PR: 256624 Approved by: maintainer timeout (python@, many months)
-rw-r--r--devel/Makefile1
-rw-r--r--devel/py-pytest/Makefile2
-rw-r--r--devel/py-pytest4/Makefile61
-rw-r--r--devel/py-pytest4/distinfo3
-rw-r--r--devel/py-pytest4/files/patch-testing-test_parseopt.py11
-rw-r--r--devel/py-pytest4/pkg-descr12
6 files changed, 90 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 6378c44bcb02..f05e073de828 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -5115,6 +5115,7 @@
SUBDIR += py-pytest-virtualenv
SUBDIR += py-pytest-xdist
SUBDIR += py-pytest-xprocess
+ SUBDIR += py-pytest4
SUBDIR += py-python-Levenshtein
SUBDIR += py-python-application
SUBDIR += py-python-bugzilla
diff --git a/devel/py-pytest/Makefile b/devel/py-pytest/Makefile
index ffb7ee853788..e5bd19934673 100644
--- a/devel/py-pytest/Makefile
+++ b/devel/py-pytest/Makefile
@@ -11,6 +11,8 @@ COMMENT= Simple powerful testing with Python
LICENSE= MIT
LICENSE_FILE= ${WRKSRC}/LICENSE
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}pytest4
+
BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=0:devel/py-setuptools_scm@${PY_FLAVOR}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}atomicwrites>=1.0:devel/py-atomicwrites@${PY_FLAVOR} \
${PYTHON_PKGNAMEPREFIX}attrs>=17.4.0:devel/py-attrs@${PY_FLAVOR} \
diff --git a/devel/py-pytest4/Makefile b/devel/py-pytest4/Makefile
new file mode 100644
index 000000000000..acc95ec7edf3
--- /dev/null
+++ b/devel/py-pytest4/Makefile
@@ -0,0 +1,61 @@
+PORTNAME= pytest
+PORTVERSION= 4.6.11
+PORTEPOCH= 1
+CATEGORIES= devel python
+MASTER_SITES= CHEESESHOP
+PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
+PKGNAMESUFFIX= 4
+
+MAINTAINER= python@FreeBSD.org
+COMMENT= Simple powerful testing with Python (legacy version 4)
+
+LICENSE= MIT
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+CONFLICTS_INSTALL= ${PYTHON_PKGNAMEPREFIX}pytest
+
+BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}setuptools_scm>=0:devel/py-setuptools_scm@${PY_FLAVOR}
+RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}atomicwrites>=1.0:devel/py-atomicwrites@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}attrs>=17.4.0:devel/py-attrs@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}more-itertools>=4.0.0:devel/py-more-itertools@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}packaging>=0:devel/py-packaging@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pluggy>=0.12<1.0:devel/py-pluggy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}py>=1.5.0:devel/py-py@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}six>=1.10.0:devel/py-six@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}wcwidth>=0:devel/py-wcwidth@${PY_FLAVOR}
+TEST_DEPENDS= bash:shells/bash \
+ lsof:sysutils/lsof \
+ ${PYTHON_PKGNAMEPREFIX}argcomplete>=0:devel/py-argcomplete@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}decorator>=0:devel/py-decorator@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}hypothesis>=3.56:devel/py-hypothesis@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}Jinja2>=0:devel/py-Jinja2@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}mock>=0:devel/py-mock@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}nose>=0:devel/py-nose@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}numpy>=0,1:math/py-numpy@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pexpect>=0:misc/py-pexpect@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest>=0:devel/py-pytest@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}pytest-xdist>=1.13:devel/py-pytest-xdist@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}requests>=0:www/py-requests@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}twisted>=0:devel/py-twisted@${PY_FLAVOR} \
+ ${PYTHON_PKGNAMEPREFIX}unittest2>=0:devel/py-unittest2@${PY_FLAVOR}
+
+USES= python:3.6+
+USE_PYTHON= autoplist concurrent distutils
+
+NO_ARCH= yes
+
+.include <bsd.port.pre.mk>
+
+.if ${PYTHON_REL} < 30800
+RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}importlib-metadata>=0.12:devel/py-importlib-metadata@${PY_FLAVOR}
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%PYTHON_CMD%%|${PYTHON_CMD}|' ${WRKSRC}/testing/test_parseopt.py
+
+# test_cache_failure_warns fails
+# https://github.com/pytest-dev/pytest/issues/1845
+do-test:
+ cd ${WRKSRC} && ${PYTHON_CMD} -m pytest -v -rs -k 'not test_cache_failure_warns'
+
+.include <bsd.port.post.mk>
diff --git a/devel/py-pytest4/distinfo b/devel/py-pytest4/distinfo
new file mode 100644
index 000000000000..db173fdad5c5
--- /dev/null
+++ b/devel/py-pytest4/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1620405525
+SHA256 (pytest-4.6.11.tar.gz) = 50fa82392f2120cc3ec2ca0a75ee615be4c479e66669789771f1758332be4353
+SIZE (pytest-4.6.11.tar.gz) = 952305
diff --git a/devel/py-pytest4/files/patch-testing-test_parseopt.py b/devel/py-pytest4/files/patch-testing-test_parseopt.py
new file mode 100644
index 000000000000..22683ffee3af
--- /dev/null
+++ b/devel/py-pytest4/files/patch-testing-test_parseopt.py
@@ -0,0 +1,11 @@
+--- testing/test_parseopt.py.orig 2020-06-05 12:09:03 UTC
++++ testing/test_parseopt.py
+@@ -305,7 +305,7 @@ def test_argcomplete(testdir, monkeypatch):
+ # redirect output from argcomplete to stdin and stderr is not trivial
+ # http://stackoverflow.com/q/12589419/1307905
+ # so we use bash
+- fp.write('COMP_WORDBREAKS="$COMP_WORDBREAKS" python -m pytest 8>&1 9>&2')
++ fp.write('COMP_WORDBREAKS="$COMP_WORDBREAKS" %%PYTHON_CMD%% -m pytest 8>&1 9>&2')
+ # alternative would be exteneded Testdir.{run(),_run(),popen()} to be able
+ # to handle a keyword argument env that replaces os.environ in popen or
+ # extends the copy, advantage: could not forget to restore
diff --git a/devel/py-pytest4/pkg-descr b/devel/py-pytest4/pkg-descr
new file mode 100644
index 000000000000..fe225513bc2a
--- /dev/null
+++ b/devel/py-pytest4/pkg-descr
@@ -0,0 +1,12 @@
+The pytest testing tool makes it easy to write small tests, yet scales to
+support complex functional testing.
+
+Features:
+
+ * Detailed info on failing assert statements
+ * Auto-discovery of test modules and functions
+ * Modular fixtures to manage small or parametrized long-lived test resources
+ * Can run unittest (or trial), nose test suites out of the box
+ * Rich plugin architecture, with over 315+ external plugins
+
+WWW: https://docs.pytest.org/en/latest/