summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/urllib3')
-rw-r--r--dev-python/urllib3/Manifest6
-rw-r--r--dev-python/urllib3/metadata.xml5
-rw-r--r--dev-python/urllib3/urllib3-1.26.18.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-1.26.5.ebuild65
-rw-r--r--dev-python/urllib3/urllib3-1.26.6.ebuild65
-rw-r--r--dev-python/urllib3/urllib3-2.1.0.ebuild87
-rw-r--r--dev-python/urllib3/urllib3-2.2.1.ebuild94
7 files changed, 264 insertions, 136 deletions
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest
index db0a91444981..9c5d5de51cb8 100644
--- a/dev-python/urllib3/Manifest
+++ b/dev-python/urllib3/Manifest
@@ -1,2 +1,4 @@
-DIST urllib3-1.26.5.tar.gz 292865 BLAKE2B 0b22a485635f70f198c022c13d03af2b1a9b6907276e3bc3acaa2242e1c632447762f86e9588e735462e6479ff93a172f458691ea9bf28ceaebd5e1cfbc55501 SHA512 4a1899b223b00894d49f6dff5fc95d410e5b0ab28c11f7e3cd82d03e50438b0c5b0adf693a33fd80f1586312dc0012836713998674da15531bf82d52645881f6
-DIST urllib3-1.26.6.tar.gz 289927 BLAKE2B 197b0df759b27fc4906c565426e9c7b533fad56f10695ab5ae6c6c4d05d5c889dba906be526d8b8f41405f29696046b7db6e2cbb2fa16843af80e072138cc35f SHA512 19eb4b88b7a575db717db420ff79b304769d9a6d2b576a236d69719101c4d52d6b0079bd049c885e630f0dfd60471f8bb33836847e0569652cddece910ec2979
+DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b
+DIST urllib3-1.26.18.tar.gz 305687 BLAKE2B f2f673761a8d80eee715a8726ba36ab6b09800fd4a4f03f27438553c36072e2abb5ff26cff71dcf30fd114f4d28c4ad9907533965b83c8a0581d3d4661904b70 SHA512 c89e93a032bf6b11375c06ef7c5abc1868f93e7655cfdca09e9bd939ad415d206ea159fe151ecd2e5f725e0e18a831c7a5382ad01dbc32264154fc8af7aec156
+DIST urllib3-2.1.0.tar.gz 263900 BLAKE2B 9e0438a11b7178c5004c1253179bb6bfcb1fa8711db47084377bb14c5834f7b88b04a5560b99bf6fff5f1f4622d4b1998d19dd517ab6b7453fd53c832ee7fefa SHA512 33d6eafd9b6ecd97ee2dca8a4f1612a6fcc584961bcfd3a0a188f557a73f4c1576f98dc525c3b2feecb2d676f4bf4364aafeef093d6686e4b3ef2043726561a8
+DIST urllib3-2.2.1.tar.gz 291020 BLAKE2B 4bd6e26e1adfba99856db082d0bd3ea136a2367fa53c2d0c7990f6325e8145b2d080a8d59705c43acd97b26be65a309f83d1906d85bd72bfb479b7404972b042 SHA512 dfadba099db678ee1567ee95aa11a72fcea0a76df094d04dd4bd7ed5df4ea2fda6917cc122a1e2bfa4f5303916f93a7e1c881fbbf3cbb9415a25bd7eca1b14b3
diff --git a/dev-python/urllib3/metadata.xml b/dev-python/urllib3/metadata.xml
index 7e9d137e62a8..e27c6550e713 100644
--- a/dev-python/urllib3/metadata.xml
+++ b/dev-python/urllib3/metadata.xml
@@ -1,14 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<stabilize-allarches/>
- <use>
- <flag name="brotli">Enable support for brotli compression</flag>
- </use>
<upstream>
<remote-id type="pypi">urllib3</remote-id>
<remote-id type="cpe">cpe:/a:urllib3:urllib3</remote-id>
diff --git a/dev-python/urllib3/urllib3-1.26.18.ebuild b/dev-python/urllib3/urllib3-1.26.18.ebuild
new file mode 100644
index 000000000000..151ef0e7ae0c
--- /dev/null
+++ b/dev-python/urllib3/urllib3-1.26.18.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="
+ https://github.com/urllib3/urllib3/
+ https://pypi.org/project/urllib3/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="brotli test"
+RESTRICT="!test? ( test )"
+
+# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime
+# dependencies. Do not add them to RDEPEND. They should be unnecessary with
+# modern versions of python (>= 3.2).
+RDEPEND="
+ >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
+ <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep "
+ ${RDEPEND}
+ dev-python/brotlicffi[\${PYTHON_USEDEP}]
+ dev-python/mock[\${PYTHON_USEDEP}]
+ dev-python/pytest[\${PYTHON_USEDEP}]
+ dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
+ >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
+ " "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle urllib3
+ rm src/urllib3/packages/six.py || die
+ find -name '*.py' -exec sed -i \
+ -e 's:\([.]*\|urllib3\.\)\?packages\.six:six:g' \
+ -e 's:from \([.]*\|urllib3\.\)\?packages import six:import six:g' \
+ {} + || die
+}
+
+python_test() {
+ local -x CI=1
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # unstable (relies on warning count)
+ test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_proxy_verified_warning
+ # some random overflow
+ test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl
+ )
+ has "${EPYTHON}" python3.{8..10} && EPYTEST_DESELECT+=(
+ test/contrib/test_pyopenssl.py::TestPyOpenSSLHelpers::test_get_subj_alt_name
+ )
+
+ epytest
+}
diff --git a/dev-python/urllib3/urllib3-1.26.5.ebuild b/dev-python/urllib3/urllib3-1.26.5.ebuild
deleted file mode 100644
index a718303d1a5e..000000000000
--- a/dev-python/urllib3/urllib3-1.26.5.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..10} pypy3 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
-HOMEPAGE="https://github.com/urllib3/urllib3"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="brotli test"
-RESTRICT="!test? ( test )"
-
-# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime
-# dependencies. Do not add them to RDEPEND. They should be unnecessary with
-# modern versions of python (>= 3.2).
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlicffi[\${PYTHON_USEDEP}]
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
- >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
- " python3_{6..10})
- )
-"
-
-python_prepare_all() {
- # tests failing if 'localhost.' cannot be resolved
- sed -e 's:test_dotted_fqdn:_&:' \
- -i test/with_dummyserver/test_https.py || die
- sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
- -i test/with_dummyserver/test_socketlevel.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x CI=1
- # FIXME: get tornado ported
- # please keep in sync with BDEPEND!
- has "${EPYTHON}" python3.{6..10} || continue
-
- local deselect=(
- # TODO?
- test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
- )
-
- epytest ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/urllib3/urllib3-1.26.6.ebuild b/dev-python/urllib3/urllib3-1.26.6.ebuild
deleted file mode 100644
index b68c311d9396..000000000000
--- a/dev-python/urllib3/urllib3-1.26.6.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
-HOMEPAGE="https://github.com/urllib3/urllib3"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-IUSE="brotli test"
-RESTRICT="!test? ( test )"
-
-# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime
-# dependencies. Do not add them to RDEPEND. They should be unnecessary with
-# modern versions of python (>= 3.2).
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlicffi[\${PYTHON_USEDEP}]
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
- >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=www-servers/tornado-4.2.1[\${PYTHON_USEDEP}]
- " python3_{6..10})
- )
-"
-
-python_prepare_all() {
- # tests failing if 'localhost.' cannot be resolved
- sed -e 's:test_dotted_fqdn:_&:' \
- -i test/with_dummyserver/test_https.py || die
- sed -e 's:test_request_host_header_ignores_fqdn_dot:_&:' \
- -i test/with_dummyserver/test_socketlevel.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x CI=1
- # FIXME: get tornado ported
- # please keep in sync with BDEPEND!
- has "${EPYTHON}" python3.{6..10} || continue
-
- local deselect=(
- # TODO?
- test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
- )
-
- epytest ${deselect[@]/#/--deselect }
-}
diff --git a/dev-python/urllib3/urllib3-2.1.0.ebuild b/dev-python/urllib3/urllib3-2.1.0.ebuild
new file mode 100644
index 000000000000..e5dc381b44ca
--- /dev/null
+++ b/dev-python/urllib3/urllib3-2.1.0.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="
+ https://github.com/urllib3/urllib3/
+ https://pypi.org/project/urllib3/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="brotli test zstd"
+RESTRICT="!test? ( test )"
+
+# [secure] extra is deprecated and slated for removal, we don't need it:
+# https://github.com/urllib3/urllib3/issues/2680
+RDEPEND="
+ >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
+ <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
+ brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] )
+ zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep "
+ ${RDEPEND}
+ dev-python/brotlicffi[\${PYTHON_USEDEP}]
+ dev-python/freezegun[\${PYTHON_USEDEP}]
+ dev-python/pytest[\${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[\${PYTHON_USEDEP}]
+ >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}]
+ " "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ # upstream considers 0.5 s to be "long" for a timeout
+ # we get tons of test failures on *fast* systems because of that
+ sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x CI=1
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # take forever
+ test/contrib/test_pyopenssl.py::TestSocketSSL::test_requesting_large_resources_via_ssl
+ test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl
+ # stupid test, next bump please verify if they fixed it
+ test/test_poolmanager.py::TestPoolManager::test_deprecated_no_scheme
+ # fails with newer secure SSL configuration, which removes TLS 1.1
+ test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
+ test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
+ test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
+ test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
+ # TODO: timeouts
+ test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries
+ test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
+ # warnings, sigh
+ test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated
+ )
+
+ # plugins make tests slower, and more fragile
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # some tests are very fragile to timing
+ epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/urllib3/urllib3-2.2.1.ebuild b/dev-python/urllib3/urllib3-2.2.1.ebuild
new file mode 100644
index 000000000000..4c4f790babe2
--- /dev/null
+++ b/dev-python/urllib3/urllib3-2.2.1.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 pypi
+
+# The package has a test dependency on their own hypercorn fork.
+HYPERCORN_COMMIT=d1719f8c1570cbd8e6a3719ffdb14a4d72880abb
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="
+ https://github.com/urllib3/urllib3/
+ https://pypi.org/project/urllib3/
+"
+SRC_URI+="
+ test? (
+ https://github.com/urllib3/hypercorn/archive/${HYPERCORN_COMMIT}.tar.gz
+ -> hypercorn-${HYPERCORN_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="brotli http2 test zstd"
+RESTRICT="!test? ( test )"
+
+# [secure] extra is deprecated and slated for removal, we don't need it:
+# https://github.com/urllib3/urllib3/issues/2680
+RDEPEND="
+ >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
+ <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
+ brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] )
+ http2? (
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ >=dev-python/h2-4[${PYTHON_USEDEP}]
+ )
+ zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep "
+ ${RDEPEND}
+ dev-python/brotlicffi[\${PYTHON_USEDEP}]
+ dev-python/freezegun[\${PYTHON_USEDEP}]
+ dev-python/h2[\${PYTHON_USEDEP}]
+ dev-python/httpx[\${PYTHON_USEDEP}]
+ dev-python/pytest[\${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[\${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[\${PYTHON_USEDEP}]
+ dev-python/quart[\${PYTHON_USEDEP}]
+ dev-python/quart-trio[\${PYTHON_USEDEP}]
+ dev-python/trio[\${PYTHON_USEDEP}]
+ >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}]
+ " "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ # upstream considers 0.5 s to be "long" for a timeout
+ # we get tons of test failures on *fast* systems because of that
+ sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTHONPATH=${WORKDIR}/hypercorn-${HYPERCORN_COMMIT}/src
+ local -x CI=1
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # TODO: timeouts
+ test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries
+ test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
+ # TODO: random regression?
+ test/contrib/test_socks.py::TestSocks5Proxy::test_socket_timeout
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -p timeout -p rerunfailures --reruns=10 --reruns-delay=2
+}