diff options
author | Michał Górny <mgorny@gentoo.org> | 2024-04-09 07:59:51 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2024-04-09 08:01:33 +0200 |
commit | 9a086e25fc82093b28b4c3698009a0557f6e7d91 (patch) | |
tree | 7553c093d8d7cefdb781c26245151ff193a327df /dev-python | |
parent | app-arch/libarchive: Bump to 3.7.3 (diff) | |
download | gentoo-9a086e25fc82093b28b4c3698009a0557f6e7d91.tar.gz gentoo-9a086e25fc82093b28b4c3698009a0557f6e7d91.tar.bz2 gentoo-9a086e25fc82093b28b4c3698009a0557f6e7d91.zip |
dev-python/werkzeug: Support >=dev-python/pytest-xprocess-1
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'dev-python')
-rw-r--r-- | dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch | 21 | ||||
-rw-r--r-- | dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild | 74 |
2 files changed, 95 insertions, 0 deletions
diff --git a/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch new file mode 100644 index 000000000000..3993b0847957 --- /dev/null +++ b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch @@ -0,0 +1,21 @@ +diff --git a/tests/conftest.py b/tests/conftest.py +index b73202cd..905f3f4b 100644 +--- a/tests/conftest.py ++++ b/tests/conftest.py +@@ -107,10 +107,12 @@ def dev_server(xprocess, request, tmp_path): + # Unbuffered output so the logs update immediately. + env = {**os.environ, "PYTHONPATH": str(tmp_path), "PYTHONUNBUFFERED": "1"} + +- @cached_property +- def pattern(self): +- client.request("/ensure") +- return "GET /ensure" ++ def startup_check(self): ++ try: ++ client.request("/ensure") ++ return True ++ except (ConnectionRefusedError, FileNotFoundError): ++ return False + + # Each test that uses the fixture will have a different log. + xp_name = f"dev_server-{request.node.name}" diff --git a/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild new file mode 100644 index 000000000000..67830a3b7586 --- /dev/null +++ b/dev-python/werkzeug/werkzeug-3.0.2-r1.ebuild @@ -0,0 +1,74 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=flit +PYTHON_COMPAT=( python3_{10..12} pypy3 ) + +inherit distutils-r1 + +DESCRIPTION="Collection of various utilities for WSGI applications" +HOMEPAGE=" + https://palletsprojects.com/p/werkzeug/ + https://pypi.org/project/Werkzeug/ + https://github.com/pallets/werkzeug/ +" +SRC_URI=" + https://github.com/pallets/werkzeug/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz +" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86" +IUSE="test-rust" + +RDEPEND=" + >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}] +" +# NOTE: remove the loong mask after greenlet gains support for loong +# see https://github.com/python-greenlet/greenlet/pull/257 +BDEPEND=" + test? ( + dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}] + dev-python/pytest-timeout[${PYTHON_USEDEP}] + >=dev-python/pytest-xprocess-1[${PYTHON_USEDEP}] + >=dev-python/watchdog-2.3[${PYTHON_USEDEP}] + test-rust? ( + dev-python/cryptography[${PYTHON_USEDEP}] + ) + !hppa? ( !ia64? ( !loong? ( + $(python_gen_cond_dep ' + dev-python/greenlet[${PYTHON_USEDEP}] + ' python3_{10..11}) + ) ) ) + ) +" + +distutils_enable_tests pytest + +PATCHES=( + # https://github.com/pallets/werkzeug/issues/2875 + "${FILESDIR}/${PN}-3.0.2-pytest-xprocess-1.patch" +) + +python_test() { + local EPYTEST_DESELECT=( + # RequestRedirect class started incidentally being tested + # with pytest-8, though the test isn't prepared for that + # https://github.com/pallets/werkzeug/issues/2845 + 'tests/test_exceptions.py::test_response_body[RequestRedirect]' + ) + if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then + EPYTEST_DESELECT+=( + "tests/test_serving.py::test_server[https]" + tests/test_serving.py::test_ssl_dev_cert + tests/test_serving.py::test_ssl_object + ) + fi + + # the default portage tempdir is too long for AF_UNIX sockets + local -x TMPDIR=/tmp + epytest -p no:django -p no:httpbin tests +} |