summaryrefslogtreecommitdiff
path: root/dev-python/httpretty
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
committerV3n3RiX <venerix@koprulu.sector>2025-01-07 06:41:06 +0000
commitd69399c7befdd98cda62d6a1788ae2aa7f104c5e (patch)
treeeac7184f4cfe7d67580c1d0a0d9942a91e6cb4ee /dev-python/httpretty
parente4d9d6796d5018e338f0b27a3bc97716195bf0b8 (diff)
gentoo auto-resync : 07:01:2025 - 06:41:06
Diffstat (limited to 'dev-python/httpretty')
-rw-r--r--dev-python/httpretty/Manifest4
-rw-r--r--dev-python/httpretty/files/httpretty-1.1.4-urllib3-2.3.patch40
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r2.ebuild (renamed from dev-python/httpretty/httpretty-1.1.4-r1.ebuild)4
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r3.ebuild86
4 files changed, 131 insertions, 3 deletions
diff --git a/dev-python/httpretty/Manifest b/dev-python/httpretty/Manifest
index e5b939cbee56..431f6c514eab 100644
--- a/dev-python/httpretty/Manifest
+++ b/dev-python/httpretty/Manifest
@@ -1,4 +1,6 @@
AUX httpretty-1.1.4-pytest.patch 4970 BLAKE2B 396fd081c958616978b0f0fa476a0b6b1f3e530aee5bddc969fcd0b9471e094dfb7c2114940f86dea6e50222f4224321cf7ed449999c61eb7006c9d1cff3e7e6 SHA512 f9064a67d852a026a7398fc1593499d4d3c7e44d00d01d1ecb68d813b1114578858a2b2d11f56f44ce7284b618143098c590fef442c118f532b29503f135ab55
+AUX httpretty-1.1.4-urllib3-2.3.patch 1830 BLAKE2B 718ef918a459cde04cfdbe1bca33c839e72e8711626770c46a756af9b6cd706155bb22db95139d32e6c715098c2b9f206dcd5bf8090ce32e591a892f7239dc33 SHA512 483cb20c64872b68dbef35a3325fc7f93d5e550c3e4cb266425a0d0ecac172b97674de8f837b2b48d63145ff0a24d3a89af1871cb84bfec9eeb70b1bea803a34
DIST httpretty-1.1.4.tar.gz 442389 BLAKE2B 020a9fd2b5dc9790b53009caac37a3cf5a0e47102b9be05f4df255880f5daf5e7689714e0c0a8f223155d191c471cb5ff4f9b0d0d34b07bd5f377311ed56ba25 SHA512 4daceea4f30ce181e871167d304bd7af9d504364f55d42f8025770f2efe7e833d018aed681c8733d653d4de90db3433e999c56bccd4675f81e66d1cc4023e418
-EBUILD httpretty-1.1.4-r1.ebuild 2251 BLAKE2B 464751cc19364ff699062318688563dbca3363af5f8c41d7b921630ff14d3a84c052898c50fcd4a1444610153712df48bf4f299aef4f88913acd2d61668c7456 SHA512 b43cfe5e08658c1afbb8c19e07ae72e948d3af234578915608affe32dde685b6f879da6dcbeb18f93a244a5cbeac536369ba12c43c0f0772c2a27e6d4e2b4bdf
+EBUILD httpretty-1.1.4-r2.ebuild 2256 BLAKE2B 7f6f8b3a39346c8b067668c3c218b6bf098039f150deb94a34465badc6e9584ac8494774bed94dfaf65c38aebba5688ae94dadd3a7048a08dde965f30bd93dbc SHA512 8bf7aea9c137a46daefcfff0199468cd3aaf648f042de2b1eed9926784dc7e162cc13baaa6a2a6dc700baf0f6a489cdcf1c4a5d01a69e7a43043bc496baac8a7
+EBUILD httpretty-1.1.4-r3.ebuild 2351 BLAKE2B 21fd42bfdd6ad5ad3da5513f5fd9ef1b6b6446d598b64d790cd0ed6215944a15c37e3a1598059e394b16fa5a0bd4b604bac4c4013a9d8e2948aa3b60bbcc5863 SHA512 d9fdd8885e0b9915966dcf514518e538d338739816c9e345a97bf41af53d6dc80a71d234b3c56d4ea6c7a6944d9294692566ce73254306ee0f4e22930c38bd29
MISC metadata.xml 616 BLAKE2B 65eeaf117de44f4d836a207f29728912c57ea62ca6102334ab183beb5e48e4f9fe683b3356f39a8456e3981e7c9470f312d516f47a2b14b6c08befdbd777a778 SHA512 2ba0ba780ad8dba7c193d0c10eb4b993f93c8ca0e4c99d22a70d3bf86588e9b9df20f560a91edbaa72a95beead383386dfc96ae16299ef03936257d4e03a4b77
diff --git a/dev-python/httpretty/files/httpretty-1.1.4-urllib3-2.3.patch b/dev-python/httpretty/files/httpretty-1.1.4-urllib3-2.3.patch
new file mode 100644
index 000000000000..c559f84fe997
--- /dev/null
+++ b/dev-python/httpretty/files/httpretty-1.1.4-urllib3-2.3.patch
@@ -0,0 +1,40 @@
+From 8e96b1e312d473429fbd08bc867376e9932ad42a Mon Sep 17 00:00:00 2001
+From: Carl Smedstad <carl.smedstad@protonmail.com>
+Date: Mon, 30 Dec 2024 19:08:26 +0100
+Subject: [PATCH] Mock socket.shutdown for compatibility with urllib3 >= 2.3
+
+Version 2.3.0 of urllib3 gets the attribute socket.shutdown which
+HTTPretty does no mock. See the following call stack:
+
+ /usr/lib/python3.13/site-packages/requests/sessions.py:602: in get
+ return self.request("GET", url, **kwargs)
+ /usr/lib/python3.13/site-packages/requests/sessions.py:589: in request
+ resp = self.send(prep, **send_kwargs)
+ /usr/lib/python3.13/site-packages/requests/sessions.py:703: in send
+ r = adapter.send(request, **kwargs)
+ /usr/lib/python3.13/site-packages/requests/adapters.py:667: in send
+ resp = conn.urlopen(
+ /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:787: in urlopen
+ response = self._make_request(
+ /usr/lib/python3.13/site-packages/urllib3/connectionpool.py:534: in _make_request
+ response = conn.getresponse()
+ /usr/lib/python3.13/site-packages/urllib3/connection.py:513: in getresponse
+ _shutdown = getattr(self.sock, "shutdown", None)
+---
+ httpretty/core.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/httpretty/core.py b/httpretty/core.py
+index 69686458..de7e091a 100644
+--- a/httpretty/core.py
++++ b/httpretty/core.py
+@@ -861,6 +861,9 @@ def recv_into(self, *args, **kwargs):
+ def recvfrom(self, *args, **kwargs):
+ return self.forward_and_trace('recvfrom', *args, **kwargs)
+
++ def shutdown(self, *args, **kwargs):
++ return self.forward_and_trace('shutdown', *args, **kwargs)
++
+ def recv(self, buffersize=0, *args, **kwargs):
+ if not self._read_buf:
+ self._read_buf = io.BytesIO()
diff --git a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild b/dev-python/httpretty/httpretty-1.1.4-r2.ebuild
index b3df1302ab77..53cbeecfb01f 100644
--- a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86"
IUSE="test-rust"
RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
+ <dev-python/urllib3-2.3[${PYTHON_USEDEP}]
"
BDEPEND="
test? (
diff --git a/dev-python/httpretty/httpretty-1.1.4-r3.ebuild b/dev-python/httpretty/httpretty-1.1.4-r3.ebuild
new file mode 100644
index 000000000000..9dd3d3216a85
--- /dev/null
+++ b/dev-python/httpretty/httpretty-1.1.4-r3.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client mock for Python"
+HOMEPAGE="
+ https://github.com/gabrielfalcao/httpretty/
+ https://pypi.org/project/httpretty/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+ dev-python/sure[${PYTHON_USEDEP}]
+ >=dev-python/tornado-2.2[${PYTHON_USEDEP}]
+ )
+"
+# These are optional test deps, that are used to test compatibility
+# with various HTTP libs. We prefer pulling them in whenever possible
+# to increase test coverage but we can live without them.
+# We're skipping redis entirely since it requires a running server.
+BDEPEND+="
+ test? (
+ test-rust? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+ >=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/${P}-pytest.patch"
+ # https://github.com/gabrielfalcao/HTTPretty/pull/485
+ "${FILESDIR}/${P}-urllib3-2.3.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # this seems to be a stress test
+ tests/bugfixes/pytest/test_426_mypy_segfault.py
+ # passthrough tests require Internet access
+ tests/functional/test_passthrough.py
+ # eventlet is masked for removal
+ tests/bugfixes/nosetests/test_eventlet.py
+ )
+ local EPYTEST_DESELECT=(
+ # regressions with newer dev-python/requests
+ tests/functional/test_requests.py::test_httpretty_should_allow_registering_regexes_with_streaming_responses
+ tests/functional/test_requests.py::test_httpretty_should_handle_paths_starting_with_two_slashes
+ )
+
+ local ignore_by_dep=(
+ dev-python/boto3:tests/bugfixes/nosetests/test_416_boto3.py
+ dev-python/httplib2:tests/functional/test_httplib2.py
+ dev-python/httpx:tests/bugfixes/nosetests/test_414_httpx.py
+ dev-python/pyopenssl:tests/bugfixes/nosetests/test_417_openssl.py
+ )
+
+ local x
+ for x in "${ignore_by_dep[@]}"; do
+ if ! has_version "${x%:*}[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=( "${x#*:}" )
+ fi
+ done
+
+ epytest
+}