--- Begin Message ---
Source: python-urllib3
Version: 2.0.7-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: [email protected]
Usertags: ftbfs-20240615 ftbfs-trixie
Hi,
During a rebuild of all packages in sid, your package failed to build
on amd64.
Relevant part (hopefully):
> debian/rules binary
> dh binary --with python3 --buildsystem=pybuild
> dh_update_autotools_config -O--buildsystem=pybuild
> dh_autoreconf -O--buildsystem=pybuild
> dh_auto_configure -O--buildsystem=pybuild
> dh_auto_build -O--buildsystem=pybuild
> I: pybuild plugin_pyproject:129: Building wheel for python3.12 with "build"
> module
> I: pybuild base:311: python3.12 -m build --skip-dependency-check
> --no-isolation --wheel --outdir
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3
> * Building wheel...
> Successfully built urllib3-2.0.7-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.12 with
> "installer" module
> I: pybuild plugin_pyproject:129: Building wheel for python3.11 with "build"
> module
> I: pybuild base:311: python3.11 -m build --skip-dependency-check
> --no-isolation --wheel --outdir
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3
> * Building wheel...
> Successfully built urllib3-2.0.7-py3-none-any.whl
> I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.11 with
> "installer" module
> dh_auto_test -O--buildsystem=pybuild
> I: pybuild base:311: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build; python3.12 -m pytest
> -k "not requires_network and not test_recent_date"
> ============================= test session starts
> ==============================
> platform linux -- Python 3.12.4, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build
> configfile: pyproject.toml
> plugins: timeout-2.3.1
> collected 2307 items / 45 deselected / 2262 selected
>
> test/contrib/test_pyopenssl.py ......................................... [
> 1%]
> .................ssssssssssssss.sssssssss..ssssss...sssssssssss.s.ssssss [
> 4%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 8%]
> ssssssssssssssssssss..........................................s......... [
> 11%]
> ................................s.....s....s............................ [
> 14%]
> .....sss.... [
> 15%]
> test/contrib/test_pyopenssl_dependencies.py .. [
> 15%]
> test/contrib/test_securetransport.py sssssssssssssssssssssssssssssssssss [
> 16%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 19%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 23%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 26%]
> sss [
> 26%]
> test/contrib/test_socks.py .................F. [
> 27%]
> test/test_collections.py ............................................. [
> 29%]
> test/test_compatibility.py . [
> 29%]
> test/test_connection.py ............................ [
> 30%]
> test/test_connectionpool.py ............................................ [
> 32%]
> .............................. [
> 33%]
> test/test_exceptions.py .............. [
> 34%]
> test/test_fields.py .................... [
> 35%]
> test/test_filepost.py ......... [
> 35%]
> test/test_no_ssl.py .. [
> 35%]
> test/test_poolmanager.py ..................................... [
> 37%]
> test/test_proxymanager.py ...... [
> 37%]
> test/test_queue_monkeypatch.py . [
> 37%]
> test/test_response.py ..........................sssssss................. [
> 39%]
> .......................................... [
> 41%]
> test/test_retry.py ..................................................... [
> 44%]
> ........ [
> 44%]
> test/test_ssl.py .................................. [
> 45%]
> test/test_ssltransport.py ................. [
> 46%]
> test/test_util.py ...................................................... [
> 49%]
> ........................................................................ [
> 52%]
> ........................................................................ [
> 55%]
> .........................................s.ss..s.ss..................... [
> 58%]
> .................................................................. [
> 61%]
> test/test_wait.py ............. [
> 62%]
> test/with_dummyserver/test_chunked_transfer.py ................. [
> 62%]
> test/with_dummyserver/test_connection.py ........ [
> 63%]
> test/with_dummyserver/test_connectionpool.py ........................... [
> 64%]
> ........................................................................ [
> 67%]
> ........................................................................ [
> 70%]
> ........................................................................ [
> 74%]
> ........................................................................ [
> 77%]
> .................................................... [
> 79%]
> test/with_dummyserver/test_https.py ssssssssssssss.sssssssss..ssssss...s [
> 81%]
> ssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 84%]
> ssssssssssssssssssssssssssssssssssss.................................... [
> 87%]
> ................................................s..........s..s..s.....s [
> 90%]
> s...ss [
> 90%]
> test/with_dummyserver/test_no_ssl.py .. [
> 90%]
> test/with_dummyserver/test_poolmanager.py .............................. [
> 92%]
> ................s [
> 93%]
> test/with_dummyserver/test_proxy_poolmanager.py ....s................... [
> 94%]
> ..s....s..s...... [
> 94%]
> test/with_dummyserver/test_socketlevel.py .............................. [
> 96%]
> ............sss.............................................s.s.s....... [
> 99%]
> ..............
> [100%]
>
> =================================== FAILURES
> ===================================
> _______________ TestSOCKS4Proxy.test_socks_with_invalid_username
> _______________
>
> self = <socks.socksocket [closed] fd=-1, family=2, type=1, proto=6>
> dest_pair = ('example.com', 80), catch_errors = None
>
> @set_self_blocking
> def connect(self, dest_pair, catch_errors=None):
> """
> Connects to the specified destination through a proxy.
> Uses the same API as socket's connect().
> To select the proxy server, use set_proxy().
>
> dest_pair - 2-tuple of (IP/hostname, port).
> """
> if len(dest_pair) != 2 or dest_pair[0].startswith("["):
> # Probably IPv6, not supported -- raise an error, and hope
> # Happy Eyeballs (RFC6555) makes sure at least the IPv4
> # connection works...
> raise socket.error("PySocks doesn't support IPv6: %s"
> % str(dest_pair))
>
> dest_addr, dest_port = dest_pair
>
> if self.type == socket.SOCK_DGRAM:
> if not self._proxyconn:
> self.bind(("", 0))
> dest_addr = socket.gethostbyname(dest_addr)
>
> # If the host address is INADDR_ANY or similar, reset the peer
> # address so that packets are received from any peer
> if dest_addr == "0.0.0.0" and not dest_port:
> self.proxy_peername = None
> else:
> self.proxy_peername = (dest_addr, dest_port)
> return
>
> (proxy_type, proxy_addr, proxy_port, rdns, username,
> password) = self.proxy
>
> # Do a minimal input check first
> if (not isinstance(dest_pair, (list, tuple))
> or len(dest_pair) != 2
> or not dest_addr
> or not isinstance(dest_port, int)):
> # Inputs failed, raise an error
> raise GeneralProxyError(
> "Invalid destination-connection (host, port) pair")
>
> # We set the timeout here so that we don't hang in connection or
> during
> # negotiation.
> super(socksocket, self).settimeout(self._timeout)
>
> if proxy_type is None:
> # Treat like regular socket object
> self.proxy_peername = dest_pair
> super(socksocket, self).settimeout(self._timeout)
> super(socksocket, self).connect((dest_addr, dest_port))
> return
>
> proxy_addr = self._proxy_addr()
>
> try:
> # Initial connection to proxy server.
> > super(socksocket, self).connect(proxy_addr)
> E ConnectionRefusedError: [Errno 111] Connection refused
>
> /usr/lib/python3/dist-packages/socks.py:787: ConnectionRefusedError
>
> During handling of the above exception, another exception occurred:
>
> self = <urllib3.contrib.socks.SOCKSConnection object at 0x7f109b9292b0>
>
> def _new_conn(self) -> socks.socksocket:
> """
> Establish a new connection via the SOCKS proxy.
> """
> extra_kw: dict[str, typing.Any] = {}
> if self.source_address:
> extra_kw["source_address"] = self.source_address
>
> if self.socket_options:
> extra_kw["socket_options"] = self.socket_options
>
> try:
> > conn = socks.create_connection(
> (self.host, self.port),
> proxy_type=self._socks_options["socks_version"],
> proxy_addr=self._socks_options["proxy_host"],
> proxy_port=self._socks_options["proxy_port"],
> proxy_username=self._socks_options["username"],
> proxy_password=self._socks_options["password"],
> proxy_rdns=self._socks_options["rdns"],
> timeout=self.timeout,
> **extra_kw,
> )
>
> urllib3/contrib/socks.py:115:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3/dist-packages/socks.py:209: in create_connection
> raise err
> /usr/lib/python3/dist-packages/socks.py:199: in create_connection
> sock.connect((remote_host, remote_port))
> /usr/lib/python3/dist-packages/socks.py:47: in wrapper
> return function(*args, **kwargs)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <socks.socksocket [closed] fd=-1, family=2, type=1, proto=6>
> dest_pair = ('example.com', 80), catch_errors = None
>
> @set_self_blocking
> def connect(self, dest_pair, catch_errors=None):
> """
> Connects to the specified destination through a proxy.
> Uses the same API as socket's connect().
> To select the proxy server, use set_proxy().
>
> dest_pair - 2-tuple of (IP/hostname, port).
> """
> if len(dest_pair) != 2 or dest_pair[0].startswith("["):
> # Probably IPv6, not supported -- raise an error, and hope
> # Happy Eyeballs (RFC6555) makes sure at least the IPv4
> # connection works...
> raise socket.error("PySocks doesn't support IPv6: %s"
> % str(dest_pair))
>
> dest_addr, dest_port = dest_pair
>
> if self.type == socket.SOCK_DGRAM:
> if not self._proxyconn:
> self.bind(("", 0))
> dest_addr = socket.gethostbyname(dest_addr)
>
> # If the host address is INADDR_ANY or similar, reset the peer
> # address so that packets are received from any peer
> if dest_addr == "0.0.0.0" and not dest_port:
> self.proxy_peername = None
> else:
> self.proxy_peername = (dest_addr, dest_port)
> return
>
> (proxy_type, proxy_addr, proxy_port, rdns, username,
> password) = self.proxy
>
> # Do a minimal input check first
> if (not isinstance(dest_pair, (list, tuple))
> or len(dest_pair) != 2
> or not dest_addr
> or not isinstance(dest_port, int)):
> # Inputs failed, raise an error
> raise GeneralProxyError(
> "Invalid destination-connection (host, port) pair")
>
> # We set the timeout here so that we don't hang in connection or
> during
> # negotiation.
> super(socksocket, self).settimeout(self._timeout)
>
> if proxy_type is None:
> # Treat like regular socket object
> self.proxy_peername = dest_pair
> super(socksocket, self).settimeout(self._timeout)
> super(socksocket, self).connect((dest_addr, dest_port))
> return
>
> proxy_addr = self._proxy_addr()
>
> try:
> # Initial connection to proxy server.
> super(socksocket, self).connect(proxy_addr)
>
> except socket.error as error:
> # Error while connecting to proxy
> self.close()
> if not catch_errors:
> proxy_addr, proxy_port = proxy_addr
> proxy_server = "{}:{}".format(proxy_addr, proxy_port)
> printable_type = PRINTABLE_PROXY_TYPES[proxy_type]
>
> msg = "Error connecting to {} proxy {}".format(printable_type,
>
> proxy_server)
> log.debug("%s due to: %s", msg, error)
> > raise ProxyConnectionError(msg, error)
> E socks.ProxyConnectionError: Error connecting to SOCKS4 proxy
> localhost:38793: [Errno 111] Connection refused
>
> /usr/lib/python3/dist-packages/socks.py:800: ProxyConnectionError
>
> During handling of the above exception, another exception occurred:
>
> self = <test.contrib.test_socks.TestSOCKS4Proxy object at 0x7f10ac37de50>
>
> def test_socks_with_invalid_username(self) -> None:
> def request_handler(listener: socket.socket) -> None:
> sock = listener.accept()[0]
>
> handler = handle_socks4_negotiation(sock, username=b"user")
> next(handler, None)
>
> self._start_server(request_handler)
> proxy_url = f"socks4a://{self.host}:{self.port}"
> with socks.SOCKSProxyManager(proxy_url, username="baduser") as pm:
> with pytest.raises(NewConnectionError, match="different
> user-ids"):
> > pm.request("GET", "http://example.com", retries=False)
>
> test/contrib/test_socks.py:725:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> urllib3/_request_methods.py:110: in request
> return self.request_encode_url(
> urllib3/_request_methods.py:143: in request_encode_url
> return self.urlopen(method, url, **extra_kw)
> urllib3/poolmanager.py:443: in urlopen
> response = conn.urlopen(method, u.request_uri, **kw)
> urllib3/connectionpool.py:845: in urlopen
> retries = retries.increment(
> urllib3/util/retry.py:445: in increment
> raise reraise(type(error), error, _stacktrace)
> urllib3/util/util.py:39: in reraise
> raise value
> urllib3/connectionpool.py:791: in urlopen
> response = self._make_request(
> urllib3/connectionpool.py:497: in _make_request
> conn.request(
> urllib3/connection.py:395: in request
> self.endheaders()
> /usr/lib/python3.12/http/client.py:1331: in endheaders
> self._send_output(message_body, encode_chunked=encode_chunked)
> /usr/lib/python3.12/http/client.py:1091: in _send_output
> self.send(msg)
> /usr/lib/python3.12/http/client.py:1035: in send
> self.connect()
> urllib3/connection.py:243: in connect
> self.sock = self._new_conn()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <urllib3.contrib.socks.SOCKSConnection object at 0x7f109b9292b0>
>
> def _new_conn(self) -> socks.socksocket:
> """
> Establish a new connection via the SOCKS proxy.
> """
> extra_kw: dict[str, typing.Any] = {}
> if self.source_address:
> extra_kw["source_address"] = self.source_address
>
> if self.socket_options:
> extra_kw["socket_options"] = self.socket_options
>
> try:
> conn = socks.create_connection(
> (self.host, self.port),
> proxy_type=self._socks_options["socks_version"],
> proxy_addr=self._socks_options["proxy_host"],
> proxy_port=self._socks_options["proxy_port"],
> proxy_username=self._socks_options["username"],
> proxy_password=self._socks_options["password"],
> proxy_rdns=self._socks_options["rdns"],
> timeout=self.timeout,
> **extra_kw,
> )
>
> except SocketTimeout as e:
> raise ConnectTimeoutError(
> self,
> f"Connection to {self.host} timed out. (connect
> timeout={self.timeout})",
> ) from e
>
> except socks.ProxyError as e:
> # This is fragile as hell, but it seems to be the only way to
> raise
> # useful errors here.
> if e.socket_err:
> error = e.socket_err
> if isinstance(error, SocketTimeout):
> raise ConnectTimeoutError(
> self,
> f"Connection to {self.host} timed out. (connect
> timeout={self.timeout})",
> ) from e
> else:
> # Adding `from e` messes with coverage somehow, so it's
> omitted.
> # See #2386.
> > raise NewConnectionError(
> self, f"Failed to establish a new connection: {error}"
> )
> E urllib3.exceptions.NewConnectionError:
> <urllib3.contrib.socks.SOCKSConnection object at 0x7f109b9292b0>: Failed to
> establish a new connection: [Errno 111] Connection refused
>
> urllib3/contrib/socks.py:146: NewConnectionError
>
> During handling of the above exception, another exception occurred:
>
> self = <test.contrib.test_socks.TestSOCKS4Proxy object at 0x7f10ac37de50>
>
> def test_socks_with_invalid_username(self) -> None:
> def request_handler(listener: socket.socket) -> None:
> sock = listener.accept()[0]
>
> handler = handle_socks4_negotiation(sock, username=b"user")
> next(handler, None)
>
> self._start_server(request_handler)
> proxy_url = f"socks4a://{self.host}:{self.port}"
> with socks.SOCKSProxyManager(proxy_url, username="baduser") as pm:
> > with pytest.raises(NewConnectionError, match="different
> > user-ids"):
> E AssertionError: Regex pattern did not match.
> E Regex: 'different user-ids'
> E Input: '<urllib3.contrib.socks.SOCKSConnection object at
> 0x7f109b9292b0>: Failed to establish a new connection: [Errno 111] Connection
> refused'
>
> test/contrib/test_socks.py:724: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG urllib3.util.retry:retry.py:282 Converted retries value: False ->
> Retry(total=False, connect=None, read=None, redirect=0, status=None)
> DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP
> connection (1): example.com:80
> DEBUG socks:socks.py:799 Error connecting to SOCKS4 proxy localhost:38793
> due to: [Errno 111] Connection refused
> =============================== warnings summary
> ===============================
> test/contrib/test_pyopenssl.py: 4 warnings
> test/with_dummyserver/test_https.py: 14 warnings
> test/with_dummyserver/test_no_ssl.py: 1 warning
> test/with_dummyserver/test_proxy_poolmanager.py: 13 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS::test_alpn_default
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_alpn_default
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_alpn_default
> test/with_dummyserver/test_socketlevel.py::TestALPN::test_alpn_protocol_in_first_request_packet
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/__init__.py:97:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ctx = ctx_cls(protocol=ssl_.PROTOCOL_TLS) # type: ignore[misc,
> attr-defined]
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1_1 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1_2 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=15, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 34152), raddr=('127.0.0.1', 40921)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=15, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 34436), raddr=('127.0.0.1', 45233)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/contrib/test_pyopenssl.py: 29 warnings
> test/contrib/test_socks.py: 17 warnings
> test/test_ssltransport.py: 12 warnings
> test/with_dummyserver/test_chunked_transfer.py: 17 warnings
> test/with_dummyserver/test_connectionpool.py: 5 warnings
> test/with_dummyserver/test_socketlevel.py: 109 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:133:
> NoIPv6Warning: No IPv6 support. Falling back to IPv4.
> warnings.warn("No IPv6 support. Falling back to IPv4.", NoIPv6Warning)
>
> test/contrib/test_pyopenssl.py: 14 warnings
> test/with_dummyserver/test_socketlevel.py: 16 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_socketlevel.py:160:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl.SSLContext(ssl_version)
>
> test/contrib/test_socks.py::TestSOCKSWithTLS::test_basic_request
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/contrib/test_socks.py:747:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = better_ssl.SSLContext(ssl.PROTOCOL_SSLv23) # type: ignore[misc]
>
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs0]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs1]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs2]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/urllib3/util/ssl_.py:290:
> DeprecationWarning: ssl.TLSVersion.TLSv1 is deprecated
> context.minimum_version = ssl_minimum_version
>
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs0]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs1]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs2]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/urllib3/util/ssl_.py:295:
> DeprecationWarning: ssl.TLSVersion.TLSv1 is deprecated
> context.maximum_version = ssl_maximum_version
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_unwrap_existing_socket
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=19, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 57452), raddr=('127.0.0.1', 41075)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_unwrap_existing_socket
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/dummyserver/server.py:146:
> ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0,
> laddr=('127.0.0.1', 41075), raddr=('127.0.0.1', 57452)>
> self.socket_handler(sock)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_ssl_object_attributes
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/urllib3/util/ssltransport.py:198:
> DeprecationWarning: ssl NPN is deprecated, use ALPN instead
> return self.sslobj.selected_npn_protocol()
>
> test/with_dummyserver/test_connection.py::test_returns_urllib3_HTTPResponse
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 47140), raddr=('127.0.0.1', 38939)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connection.py::test_does_not_release_conn
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=22, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 59054), raddr=('127.0.0.1', 33525)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connection.py::test_double_getresponse
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=22, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 55040), raddr=('127.0.0.1', 33593)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPoolTimeouts::test_timeout_float
> /usr/lib/python3.12/http/client.py:430: ResourceWarning: unclosed
> <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1', 40964),
> raddr=('127.0.0.1', 37879)>
> def close(self):
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_source_address
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_connectionpool.py:784:
> NoIPv6Warning: No IPv6 support: skipping.
> warnings.warn("No IPv6 support: skipping.", NoIPv6Warning)
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-True]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=23, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 54454), raddr=('127.0.0.1', 33671)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-True]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 54462), raddr=('127.0.0.1', 33671)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-False]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=23, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 54476), raddr=('127.0.0.1', 33671)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-False]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 54486), raddr=('127.0.0.1', 33671)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-True]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=23, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 54538), raddr=('127.0.0.1', 33671)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-True]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 54544), raddr=('127.0.0.1', 33671)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-False]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=23, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 54548), raddr=('127.0.0.1', 33671)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-False]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 54550), raddr=('127.0.0.1', 33671)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 54554), raddr=('127.0.0.1', 33671)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 45188), raddr=('127.0.0.1', 44653)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 35868), raddr=('127.0.0.1', 41425)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_client_cert_with_string_password
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_client_cert_with_bytes_password
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_socketlevel.py:370:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ssl_context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_load_keyfile_with_invalid_password
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_socketlevel.py:390:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_load_invalid_cert_file
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build/test/with_dummyserver/test_socketlevel.py:403:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestSSL::test_ssl_dont_load_default_certs_when_given
> /usr/lib/python3.12/unittest/mock.py:2188: ResourceWarning: unclosed
> <socket.socket fd=25, family=2, type=1, proto=6, laddr=('127.0.0.1', 39778),
> raddr=('127.0.0.1', 46489)>
> def __init__(self, name, parent):
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED
> test/contrib/test_socks.py::TestSOCKS4Proxy::test_socks_with_invalid_username
> - AssertionError: Regex pattern did not match.
> Regex: 'different user-ids'
> Input: '<urllib3.contrib.socks.SOCKSConnection object at 0x7f109b9292b0>:
> Failed to establish a new connection: [Errno 111] Connection refused'
> = 1 failed, 1692 passed, 569 skipped, 45 deselected, 297 warnings in 85.60s
> (0:01:25) =
> sys:1: ResourceWarning: unclosed <socket.socket fd=28, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 44650), raddr=('127.0.0.1', 46733)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=23, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 55644), raddr=('127.0.0.1', 44663)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=31, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 58258), raddr=('127.0.0.1', 37329)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=34, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 57494), raddr=('127.0.0.1', 46185)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.12_urllib3/build; python3.12 -m pytest
> -k "not requires_network and not test_recent_date"
> I: pybuild base:311: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build; python3.11 -m pytest
> -k "not requires_network and not test_recent_date"
> ============================= test session starts
> ==============================
> platform linux -- Python 3.11.9, pytest-8.2.2, pluggy-1.5.0
> rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build
> configfile: pyproject.toml
> plugins: timeout-2.3.1
> collected 2307 items / 45 deselected / 2262 selected
>
> test/contrib/test_pyopenssl.py ......................................... [
> 1%]
> .................ssssssssssssss.sssssssss..ssssss...sssssssssss.s.ssssss [
> 4%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 8%]
> ssssssssssssssssssss..........................................s......... [
> 11%]
> ................................s.....s....s............................ [
> 14%]
> .....sss.... [
> 15%]
> test/contrib/test_pyopenssl_dependencies.py .. [
> 15%]
> test/contrib/test_securetransport.py sssssssssssssssssssssssssssssssssss [
> 16%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 19%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 23%]
> ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 26%]
> sss [
> 26%]
> test/contrib/test_socks.py .................F. [
> 27%]
> test/test_collections.py ............................................. [
> 29%]
> test/test_compatibility.py . [
> 29%]
> test/test_connection.py ............................ [
> 30%]
> test/test_connectionpool.py ............................................ [
> 32%]
> .............................. [
> 33%]
> test/test_exceptions.py .............. [
> 34%]
> test/test_fields.py .................... [
> 35%]
> test/test_filepost.py ......... [
> 35%]
> test/test_no_ssl.py .. [
> 35%]
> test/test_poolmanager.py ..................................... [
> 37%]
> test/test_proxymanager.py ...... [
> 37%]
> test/test_queue_monkeypatch.py . [
> 37%]
> test/test_response.py ..........................sssssss................. [
> 39%]
> .......................................... [
> 41%]
> test/test_retry.py ..................................................... [
> 44%]
> ........ [
> 44%]
> test/test_ssl.py .................................. [
> 45%]
> test/test_ssltransport.py ................. [
> 46%]
> test/test_util.py ...................................................... [
> 49%]
> ........................................................................ [
> 52%]
> ........................................................................ [
> 55%]
> .........................................s.ss..s.ss..................... [
> 58%]
> .................................................................. [
> 61%]
> test/test_wait.py ............. [
> 62%]
> test/with_dummyserver/test_chunked_transfer.py ................. [
> 62%]
> test/with_dummyserver/test_connection.py ........ [
> 63%]
> test/with_dummyserver/test_connectionpool.py ........................... [
> 64%]
> ........................................................................ [
> 67%]
> ........................................................................ [
> 70%]
> ........................................................................ [
> 74%]
> ........................................................................ [
> 77%]
> .................................................... [
> 79%]
> test/with_dummyserver/test_https.py ssssssssssssss.sssssssss..ssssss...s [
> 81%]
> ssssssssss.sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [
> 84%]
> ssssssssssssssssssssssssssssssssssss.................................... [
> 87%]
> ................................................s..........s..s..s.....s [
> 90%]
> s...ss [
> 90%]
> test/with_dummyserver/test_no_ssl.py .. [
> 90%]
> test/with_dummyserver/test_poolmanager.py .............................. [
> 92%]
> ................s [
> 93%]
> test/with_dummyserver/test_proxy_poolmanager.py ....s................... [
> 94%]
> ..s....s..s...... [
> 94%]
> test/with_dummyserver/test_socketlevel.py .............................. [
> 96%]
> ............sss.............................................s.s.s....... [
> 99%]
> ..............
> [100%]
>
> =================================== FAILURES
> ===================================
> _______________ TestSOCKS4Proxy.test_socks_with_invalid_username
> _______________
>
> self = <socks.socksocket [closed] fd=-1, family=2, type=1, proto=6>
> dest_pair = ('example.com', 80), catch_errors = None
>
> @set_self_blocking
> def connect(self, dest_pair, catch_errors=None):
> """
> Connects to the specified destination through a proxy.
> Uses the same API as socket's connect().
> To select the proxy server, use set_proxy().
>
> dest_pair - 2-tuple of (IP/hostname, port).
> """
> if len(dest_pair) != 2 or dest_pair[0].startswith("["):
> # Probably IPv6, not supported -- raise an error, and hope
> # Happy Eyeballs (RFC6555) makes sure at least the IPv4
> # connection works...
> raise socket.error("PySocks doesn't support IPv6: %s"
> % str(dest_pair))
>
> dest_addr, dest_port = dest_pair
>
> if self.type == socket.SOCK_DGRAM:
> if not self._proxyconn:
> self.bind(("", 0))
> dest_addr = socket.gethostbyname(dest_addr)
>
> # If the host address is INADDR_ANY or similar, reset the peer
> # address so that packets are received from any peer
> if dest_addr == "0.0.0.0" and not dest_port:
> self.proxy_peername = None
> else:
> self.proxy_peername = (dest_addr, dest_port)
> return
>
> (proxy_type, proxy_addr, proxy_port, rdns, username,
> password) = self.proxy
>
> # Do a minimal input check first
> if (not isinstance(dest_pair, (list, tuple))
> or len(dest_pair) != 2
> or not dest_addr
> or not isinstance(dest_port, int)):
> # Inputs failed, raise an error
> raise GeneralProxyError(
> "Invalid destination-connection (host, port) pair")
>
> # We set the timeout here so that we don't hang in connection or
> during
> # negotiation.
> super(socksocket, self).settimeout(self._timeout)
>
> if proxy_type is None:
> # Treat like regular socket object
> self.proxy_peername = dest_pair
> super(socksocket, self).settimeout(self._timeout)
> super(socksocket, self).connect((dest_addr, dest_port))
> return
>
> proxy_addr = self._proxy_addr()
>
> try:
> # Initial connection to proxy server.
> > super(socksocket, self).connect(proxy_addr)
> E ConnectionRefusedError: [Errno 111] Connection refused
>
> /usr/lib/python3/dist-packages/socks.py:787: ConnectionRefusedError
>
> During handling of the above exception, another exception occurred:
>
> self = <urllib3.contrib.socks.SOCKSConnection object at 0x7f18dc84a8d0>
>
> def _new_conn(self) -> socks.socksocket:
> """
> Establish a new connection via the SOCKS proxy.
> """
> extra_kw: dict[str, typing.Any] = {}
> if self.source_address:
> extra_kw["source_address"] = self.source_address
>
> if self.socket_options:
> extra_kw["socket_options"] = self.socket_options
>
> try:
> > conn = socks.create_connection(
> (self.host, self.port),
> proxy_type=self._socks_options["socks_version"],
> proxy_addr=self._socks_options["proxy_host"],
> proxy_port=self._socks_options["proxy_port"],
> proxy_username=self._socks_options["username"],
> proxy_password=self._socks_options["password"],
> proxy_rdns=self._socks_options["rdns"],
> timeout=self.timeout,
> **extra_kw,
> )
>
> urllib3/contrib/socks.py:115:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> /usr/lib/python3/dist-packages/socks.py:209: in create_connection
> raise err
> /usr/lib/python3/dist-packages/socks.py:199: in create_connection
> sock.connect((remote_host, remote_port))
> /usr/lib/python3/dist-packages/socks.py:47: in wrapper
> return function(*args, **kwargs)
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <socks.socksocket [closed] fd=-1, family=2, type=1, proto=6>
> dest_pair = ('example.com', 80), catch_errors = None
>
> @set_self_blocking
> def connect(self, dest_pair, catch_errors=None):
> """
> Connects to the specified destination through a proxy.
> Uses the same API as socket's connect().
> To select the proxy server, use set_proxy().
>
> dest_pair - 2-tuple of (IP/hostname, port).
> """
> if len(dest_pair) != 2 or dest_pair[0].startswith("["):
> # Probably IPv6, not supported -- raise an error, and hope
> # Happy Eyeballs (RFC6555) makes sure at least the IPv4
> # connection works...
> raise socket.error("PySocks doesn't support IPv6: %s"
> % str(dest_pair))
>
> dest_addr, dest_port = dest_pair
>
> if self.type == socket.SOCK_DGRAM:
> if not self._proxyconn:
> self.bind(("", 0))
> dest_addr = socket.gethostbyname(dest_addr)
>
> # If the host address is INADDR_ANY or similar, reset the peer
> # address so that packets are received from any peer
> if dest_addr == "0.0.0.0" and not dest_port:
> self.proxy_peername = None
> else:
> self.proxy_peername = (dest_addr, dest_port)
> return
>
> (proxy_type, proxy_addr, proxy_port, rdns, username,
> password) = self.proxy
>
> # Do a minimal input check first
> if (not isinstance(dest_pair, (list, tuple))
> or len(dest_pair) != 2
> or not dest_addr
> or not isinstance(dest_port, int)):
> # Inputs failed, raise an error
> raise GeneralProxyError(
> "Invalid destination-connection (host, port) pair")
>
> # We set the timeout here so that we don't hang in connection or
> during
> # negotiation.
> super(socksocket, self).settimeout(self._timeout)
>
> if proxy_type is None:
> # Treat like regular socket object
> self.proxy_peername = dest_pair
> super(socksocket, self).settimeout(self._timeout)
> super(socksocket, self).connect((dest_addr, dest_port))
> return
>
> proxy_addr = self._proxy_addr()
>
> try:
> # Initial connection to proxy server.
> super(socksocket, self).connect(proxy_addr)
>
> except socket.error as error:
> # Error while connecting to proxy
> self.close()
> if not catch_errors:
> proxy_addr, proxy_port = proxy_addr
> proxy_server = "{}:{}".format(proxy_addr, proxy_port)
> printable_type = PRINTABLE_PROXY_TYPES[proxy_type]
>
> msg = "Error connecting to {} proxy {}".format(printable_type,
>
> proxy_server)
> log.debug("%s due to: %s", msg, error)
> > raise ProxyConnectionError(msg, error)
> E socks.ProxyConnectionError: Error connecting to SOCKS4 proxy
> localhost:38045: [Errno 111] Connection refused
>
> /usr/lib/python3/dist-packages/socks.py:800: ProxyConnectionError
>
> During handling of the above exception, another exception occurred:
>
> self = <test.contrib.test_socks.TestSOCKS4Proxy object at 0x7f18e554a150>
>
> def test_socks_with_invalid_username(self) -> None:
> def request_handler(listener: socket.socket) -> None:
> sock = listener.accept()[0]
>
> handler = handle_socks4_negotiation(sock, username=b"user")
> next(handler, None)
>
> self._start_server(request_handler)
> proxy_url = f"socks4a://{self.host}:{self.port}"
> with socks.SOCKSProxyManager(proxy_url, username="baduser") as pm:
> with pytest.raises(NewConnectionError, match="different
> user-ids"):
> > pm.request("GET", "http://example.com", retries=False)
>
> test/contrib/test_socks.py:725:
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
> urllib3/_request_methods.py:110: in request
> return self.request_encode_url(
> urllib3/_request_methods.py:143: in request_encode_url
> return self.urlopen(method, url, **extra_kw)
> urllib3/poolmanager.py:443: in urlopen
> response = conn.urlopen(method, u.request_uri, **kw)
> urllib3/connectionpool.py:845: in urlopen
> retries = retries.increment(
> urllib3/util/retry.py:445: in increment
> raise reraise(type(error), error, _stacktrace)
> urllib3/util/util.py:39: in reraise
> raise value
> urllib3/connectionpool.py:791: in urlopen
> response = self._make_request(
> urllib3/connectionpool.py:497: in _make_request
> conn.request(
> urllib3/connection.py:395: in request
> self.endheaders()
> /usr/lib/python3.11/http/client.py:1298: in endheaders
> self._send_output(message_body, encode_chunked=encode_chunked)
> /usr/lib/python3.11/http/client.py:1058: in _send_output
> self.send(msg)
> /usr/lib/python3.11/http/client.py:996: in send
> self.connect()
> urllib3/connection.py:243: in connect
> self.sock = self._new_conn()
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
> _
>
> self = <urllib3.contrib.socks.SOCKSConnection object at 0x7f18dc84a8d0>
>
> def _new_conn(self) -> socks.socksocket:
> """
> Establish a new connection via the SOCKS proxy.
> """
> extra_kw: dict[str, typing.Any] = {}
> if self.source_address:
> extra_kw["source_address"] = self.source_address
>
> if self.socket_options:
> extra_kw["socket_options"] = self.socket_options
>
> try:
> conn = socks.create_connection(
> (self.host, self.port),
> proxy_type=self._socks_options["socks_version"],
> proxy_addr=self._socks_options["proxy_host"],
> proxy_port=self._socks_options["proxy_port"],
> proxy_username=self._socks_options["username"],
> proxy_password=self._socks_options["password"],
> proxy_rdns=self._socks_options["rdns"],
> timeout=self.timeout,
> **extra_kw,
> )
>
> except SocketTimeout as e:
> raise ConnectTimeoutError(
> self,
> f"Connection to {self.host} timed out. (connect
> timeout={self.timeout})",
> ) from e
>
> except socks.ProxyError as e:
> # This is fragile as hell, but it seems to be the only way to
> raise
> # useful errors here.
> if e.socket_err:
> error = e.socket_err
> if isinstance(error, SocketTimeout):
> raise ConnectTimeoutError(
> self,
> f"Connection to {self.host} timed out. (connect
> timeout={self.timeout})",
> ) from e
> else:
> # Adding `from e` messes with coverage somehow, so it's
> omitted.
> # See #2386.
> > raise NewConnectionError(
> self, f"Failed to establish a new connection: {error}"
> )
> E urllib3.exceptions.NewConnectionError:
> <urllib3.contrib.socks.SOCKSConnection object at 0x7f18dc84a8d0>: Failed to
> establish a new connection: [Errno 111] Connection refused
>
> urllib3/contrib/socks.py:146: NewConnectionError
>
> During handling of the above exception, another exception occurred:
>
> self = <test.contrib.test_socks.TestSOCKS4Proxy object at 0x7f18e554a150>
>
> def test_socks_with_invalid_username(self) -> None:
> def request_handler(listener: socket.socket) -> None:
> sock = listener.accept()[0]
>
> handler = handle_socks4_negotiation(sock, username=b"user")
> next(handler, None)
>
> self._start_server(request_handler)
> proxy_url = f"socks4a://{self.host}:{self.port}"
> with socks.SOCKSProxyManager(proxy_url, username="baduser") as pm:
> > with pytest.raises(NewConnectionError, match="different
> > user-ids"):
> E AssertionError: Regex pattern did not match.
> E Regex: 'different user-ids'
> E Input: '<urllib3.contrib.socks.SOCKSConnection object at
> 0x7f18dc84a8d0>: Failed to establish a new connection: [Errno 111] Connection
> refused'
>
> test/contrib/test_socks.py:724: AssertionError
> ------------------------------ Captured log call
> -------------------------------
> DEBUG urllib3.util.retry:retry.py:282 Converted retries value: False ->
> Retry(total=False, connect=None, read=None, redirect=0, status=None)
> DEBUG urllib3.connectionpool:connectionpool.py:245 Starting new HTTP
> connection (1): example.com:80
> DEBUG socks:socks.py:799 Error connecting to SOCKS4 proxy localhost:38045
> due to: [Errno 111] Connection refused
> =============================== warnings summary
> ===============================
> test/contrib/test_pyopenssl.py: 4 warnings
> test/with_dummyserver/test_https.py: 14 warnings
> test/with_dummyserver/test_no_ssl.py: 1 warning
> test/with_dummyserver/test_proxy_poolmanager.py: 13 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS::test_alpn_default
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_alpn_default
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_alpn_default
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_alpn_default
> test/with_dummyserver/test_socketlevel.py::TestALPN::test_alpn_protocol_in_first_request_packet
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/__init__.py:97:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ctx = ctx_cls(protocol=ssl_.PROTOCOL_TLS) # type: ignore[misc,
> attr-defined]
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1_1 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_simple
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_simple
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:173:
> DeprecationWarning: ssl.PROTOCOL_TLSv1_2 is deprecated
> ctx = ssl.SSLContext(ssl_version)
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=15, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 45480), raddr=('127.0.0.1', 45175)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=15, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 34422), raddr=('127.0.0.1', 37799)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/contrib/test_pyopenssl.py: 29 warnings
> test/contrib/test_socks.py: 17 warnings
> test/test_ssltransport.py: 12 warnings
> test/with_dummyserver/test_chunked_transfer.py: 17 warnings
> test/with_dummyserver/test_connectionpool.py: 5 warnings
> test/with_dummyserver/test_socketlevel.py: 109 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:133:
> NoIPv6Warning: No IPv6 support. Falling back to IPv4.
> warnings.warn("No IPv6 support. Falling back to IPv4.", NoIPv6Warning)
>
> test/contrib/test_pyopenssl.py: 14 warnings
> test/with_dummyserver/test_socketlevel.py: 16 warnings
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_socketlevel.py:160:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl.SSLContext(ssl_version)
>
> test/contrib/test_socks.py::TestSOCKSWithTLS::test_basic_request
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/contrib/test_socks.py:747:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = better_ssl.SSLContext(ssl.PROTOCOL_SSLv23) # type: ignore[misc]
>
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs0]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs1]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs2]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/urllib3/util/ssl_.py:290:
> DeprecationWarning: ssl.TLSVersion.TLSv1 is deprecated
> context.minimum_version = ssl_minimum_version
>
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs0]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs1]
> test/test_ssl.py::TestSSL::test_create_urllib3_context_ssl_version_and_ssl_min_max_version_no_error[kwargs2]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/urllib3/util/ssl_.py:295:
> DeprecationWarning: ssl.TLSVersion.TLSv1 is deprecated
> context.maximum_version = ssl_maximum_version
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_unwrap_existing_socket
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/dummyserver/server.py:146:
> ResourceWarning: unclosed <ssl.SSLSocket fd=18, family=2, type=1, proto=0,
> laddr=('127.0.0.1', 37125), raddr=('127.0.0.1', 38424)>
> self.socket_handler(sock)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_unwrap_existing_socket
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=19, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 38424), raddr=('127.0.0.1', 37125)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/test_ssltransport.py::SingleTLSLayerTestCase::test_ssl_object_attributes
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/urllib3/util/ssltransport.py:198:
> DeprecationWarning: ssl NPN is deprecated, use ALPN instead
> return self.sslobj.selected_npn_protocol()
>
> test/with_dummyserver/test_connection.py::test_returns_urllib3_HTTPResponse
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46958), raddr=('127.0.0.1', 46591)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connection.py::test_does_not_release_conn
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=22, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 33966), raddr=('127.0.0.1', 43999)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connection.py::test_double_getresponse
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=22, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 44422), raddr=('127.0.0.1', 46501)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_source_address
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_connectionpool.py:784:
> NoIPv6Warning: No IPv6 support: skipping.
> warnings.warn("No IPv6 support: skipping.", NoIPv6Warning)
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_skip_header[True-user-agent0-Host1-None]
> /usr/lib/python3.11/weakref.py:136: ResourceWarning: unclosed
> <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1', 35390),
> raddr=('127.0.0.1', 42899)>
> o = self.data[key]()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-True]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=21, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 46290), raddr=('127.0.0.1', 33477)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-True]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46302), raddr=('127.0.0.1', 33477)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-False]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=21, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 46306), raddr=('127.0.0.1', 33477)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[dict-False-False]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46308), raddr=('127.0.0.1', 33477)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-True]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=21, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 46360), raddr=('127.0.0.1', 33477)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-True]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46376), raddr=('127.0.0.1', 33477)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-False]
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_connectionpool.py:1072:
> ResourceWarning: unclosed <socket.socket fd=21, family=2, type=1, proto=6,
> laddr=('127.0.0.1', 46388), raddr=('127.0.0.1', 33477)>
> conn = pool._get_conn()
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_headers_not_modified_by_request[HTTPHeaderDict-False-False]
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46398), raddr=('127.0.0.1', 33477)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <socket.socket fd=21, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 46410), raddr=('127.0.0.1', 33477)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 44380), raddr=('127.0.0.1', 39011)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_server_hostname
> /usr/lib/python3/dist-packages/_pytest/python.py:162: ResourceWarning:
> unclosed <ssl.SSLSocket fd=23, family=2, type=1, proto=6, laddr=('127.0.0.1',
> 58942), raddr=('127.0.0.1', 40817)>
> result = testfunction(**testargs)
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_client_cert_with_string_password
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_client_cert_with_bytes_password
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_socketlevel.py:370:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> ssl_context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_load_keyfile_with_invalid_password
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_socketlevel.py:390:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_load_invalid_cert_file
>
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build/test/with_dummyserver/test_socketlevel.py:403:
> DeprecationWarning: ssl.PROTOCOL_TLS is deprecated
> context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23)
>
> test/with_dummyserver/test_socketlevel.py::TestSSL::test_ssl_dont_load_default_certs_when_given
> /usr/lib/python3.11/unittest/mock.py:2133: ResourceWarning: unclosed
> <socket.socket fd=25, family=2, type=1, proto=6, laddr=('127.0.0.1', 37954),
> raddr=('127.0.0.1', 43683)>
> setattr(_type, entry, MagicProxy(entry, self))
> Enable tracemalloc to get traceback where the object was allocated.
> See
> https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings
> for more info.
>
> -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
> =========================== short test summary info
> ============================
> FAILED
> test/contrib/test_socks.py::TestSOCKS4Proxy::test_socks_with_invalid_username
> - AssertionError: Regex pattern did not match.
> Regex: 'different user-ids'
> Input: '<urllib3.contrib.socks.SOCKSConnection object at 0x7f18dc84a8d0>:
> Failed to establish a new connection: [Errno 111] Connection refused'
> = 1 failed, 1692 passed, 569 skipped, 45 deselected, 297 warnings in 89.02s
> (0:01:29) =
> sys:1: ResourceWarning: unclosed <socket.socket fd=28, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 47686), raddr=('127.0.0.1', 39523)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=25, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 46022), raddr=('127.0.0.1', 38715)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=31, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 35022), raddr=('127.0.0.1', 45667)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> sys:1: ResourceWarning: unclosed <socket.socket fd=34, family=2, type=1,
> proto=6, laddr=('127.0.0.1', 59910), raddr=('127.0.0.1', 37573)>
> ResourceWarning: Enable tracemalloc to get the object allocation traceback
> E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd
> /<<PKGBUILDDIR>>/.pybuild/cpython3_3.11_urllib3/build; python3.11 -m pytest
> -k "not requires_network and not test_recent_date"
> dh_auto_test: error: pybuild --test -i python{version} -p "3.12 3.11"
> returned exit code 13
The full build log is available from:
http://qa-logs.debian.net/2024/06/15/python-urllib3_2.0.7-2_unstable.log
All bugs filed during this archive rebuild are listed at:
https://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ftbfs-20240615;[email protected]
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&[email protected]&allbugs=1&cseverity=1&ctags=1&caffected=1#results
A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!
If you reassign this bug to another package, please mark it as 'affects'-ing
this package. See https://www.debian.org/Bugs/server-control#affects
If you fail to reproduce this, please provide a build log and diff it with mine
so that we can identify if something relevant changed in the meantime.
--- End Message ---