Source: python-urllib3
Version: 2.0.7-2
Severity: serious
Justification: FTBFS
Tags: trixie sid ftbfs
User: lu...@debian.org
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;users=lu...@debian.org
or:
https://udd.debian.org/bugs/?release=na&merged=ign&fnewerval=7&flastmodval=7&fusertag=only&fusertagtag=ftbfs-20240615&fusertaguser=lu...@debian.org&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.


Reply via email to