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.