# src : https://buildlogs.pld-linux.org/pld/th/x86_64/FAIL/python3-urllib3,2e909dd3-4e82-4c44-9d48-4c7ff73bbcbc.bz2 # date : 2026/03/15 19:57:18 request from: qboosh checking if we should skip the build started at: Sun Mar 15 19:56:30 2026 killing old processes on a builder sending signal 9 to pid -1 cleaning up /tmp fetching https://srcbuilder.pld-linux.org/th//srpms/2e909dd3-4e82-4c44-9d48-4c7ff73bbcbc/python3-urllib3-2.6.3-1.src.rpm fetched 459386 bytes, 1574.0 K/s installing srpm: python3-urllib3-2.6.3-1.src.rpm + install -d /tmp/B.yz2stidd/BUILD /tmp/B.yz2stidd/RPMS + LC_ALL=en_US.UTF-8 + rpm -qp --changelog python3-urllib3-2.6.3-1.src.rpm * Sun Mar 15 2026 PLD Linux Team - For complete changelog see: http://git.pld-linux.org/?p=packages/python3-urllib3.git;a=log;h=master * Tue Jan 27 2026 Jakub Bogusz 33899a4 - updated to 2.6.3 (fixes GHSA-38jv-5279-wg99) * Tue Jan 27 2026 Jakub Bogusz b75b360 - python-urllib3.spec updated to 2.6.2 for python 3.9+ * Sun Mar 16 2025 Jan Palus fb48e36 - up to 1.26.20 * Tue Mar 11 2025 Jan Rękorajski dcbc062 - doc/test rebuild for python 3.13 * Mon Mar 10 2025 Jan Rękorajski 9070f3e - python 3.13 rebuild * Sun Mar 09 2025 Jan Rękorajski 6c71f14 - use patch -P * Wed Nov 15 2023 Jan Palus 2ca2453 - up to 1.26.18 * Tue Nov 14 2023 Jan Palus 11a7fa1 - BR: python*-setuptools * Tue Nov 14 2023 Jan Palus 1357614 - BR: python/python3 for %py_*/%py3_* * Thu Sep 08 2022 Jakub Bogusz ec94c33 - updated to 1.26.12 * Wed Mar 30 2022 Jan Rękorajski 06a3df0 - rebuild with tests and docs * Fri Mar 25 2022 Jan Rękorajski 3800080 - rebuild with python 3.10 * Thu Mar 10 2022 Jakub Bogusz 4e22dad - updated to 1.26.8 * Sun Feb 14 2021 Jakub Bogusz 65b3314 - updated to 1.26.2 (for requests >= 2.24) - updated mock patch * Sat Feb 27 2021 Jan Rękorajski cb7c142 - release 3 (by relup.sh) * Sat Feb 27 2021 Jan Rękorajski 930c897 - release 2 (by relup.sh) * Sun Feb 14 2021 Jakub Bogusz b07e9d2 - updated to 1.25.11 (last compatible with requests 2.23.x) - updated mock patch * Mon Jun 08 2020 Jakub Bogusz f500632 - updated to 1.25.9 - updated mock patch - added httplib patch (fix python3 tests: httplib has been renamed to http.client) * Mon Jan 06 2020 Jakub Bogusz 2ea5dcd - updated to 1.25.7 * Sat Nov 09 2019 Marcin Krol 1e2cc5b - release 3 + rpm -Uhv --nodeps --define '_topdir /tmp/B.yz2stidd' --define '_specdir %{_topdir}' --define '_sourcedir %{_specdir}' --define '_rpmdir %{_topdir}/RPMS' --define '_builddir %{_topdir}/BUILD' python3-urllib3-2.6.3-1.src.rpm Updating / installing... python3-urllib3-2.6.3-1 ######################################## + rm -f python3-urllib3-2.6.3-1.src.rpm + install -m 700 -d /tmp/B.yz2stidd/BUILD/tmp + TMPDIR=/tmp/B.yz2stidd/BUILD/tmp + exec nice -n 0 rpmbuild -bp --short-circuit --nodeps --define '_topdir /tmp/B.yz2stidd' --define '_specdir %{_topdir}' --define '_sourcedir %{_specdir}' --define '_rpmdir %{_topdir}/RPMS' --define '_builddir %{_topdir}/BUILD' --target x86_64-pld-linux --define 'prep exit 0' /tmp/B.yz2stidd/python3-urllib3.spec Building target platforms: x86_64-pld-linux Building for target x86_64-pld-linux warning: %changelog not in descending chronological order warning: Could not canonicalize hostname: ymir RPM build warnings: %changelog not in descending chronological order Could not canonicalize hostname: ymir checking BuildConflict-ing packages rpm: Building target platforms: x86_64-pld-linux rpm: Building for target x86_64-pld-linux rpm: warning: %changelog not in descending chronological order rpm: warning: Could not canonicalize hostname: ymir rpm: error: Failed build dependencies: rpm: python3-pytest-memray >= 1.8.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: python3-quart-trio >= 0.12.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: rpm: RPM build warnings: rpm: %changelog not in descending chronological order rpm: Could not canonicalize hostname: ymir no BuildConflicts found checking BR rpm: Building target platforms: x86_64-pld-linux rpm: Building for target x86_64-pld-linux rpm: warning: %changelog not in descending chronological order rpm: warning: Could not canonicalize hostname: ymir rpm: error: Failed build dependencies: rpm: python3-pytest-memray >= 1.8.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: python3-quart-trio >= 0.12.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: rpm: RPM build warnings: rpm: %changelog not in descending chronological order rpm: Could not canonicalize hostname: ymir updating poldek cache... ready is up to date th is up to date th is up to date th-ready is up to date th-ready is up to date th-test is up to date Retrieving th-test::packages.ndir.diff.toc.gz..............................................done Loading [pndir]th-test... Applying packages.ndir.2026.03.15-17.31.00.gz... Writing /root/.cache/poldek/[...]/packages.ndir.gz... checking conflicting packages in BRed packages poldek: Loading [pndir]th-test... poldek: Loading [pndir]th-ready... poldek: Loading [pndir]th-ready... poldek: Loading [pndir]th... poldek: Loading [pndir]th... poldek: Loading [pndir]th-test... poldek: Loading [pndir]ready... poldek: 36408 packages read poldek: Removed 3991 duplicate packages from available set poldek: Processing dependencies... poldek: There are 2 packages to install: poldek: A python3-pytest-memray-1.8.0-1.noarch python3-quart-trio-0.12.0-1.noarch poldek: This operation will use 202.8KB of disk space. poldek: Need to get 82.8KB of archives (45.6KB to download). poldek: poldek: python3-pytest-memray-1.8.0-1.noarch.rpm: digests OK poldek: Retrieving th::python3-quart-trio-0.12.0-1.noarch.rpm......................................done poldek: python3-quart-trio-0.12.0-1.noarch.rpm: digests OK poldek: Executing pm-command.sh --upgrade -vh --test --root / --nodigest... poldek: warning: /root/.cache/poldek/ftp_ep09.pld-linux.org.dists.th.PLD.noarch.RPMS/python3-quart-trio-0.12.0-1.noarch.rpm: Header OpenPGP V4 DSA/SHA1 signature, key ID af3f93bce4f1bc2d: NOKEY poldek: Preparing... ######################################## no conflicts found checking BR rpm: Building target platforms: x86_64-pld-linux rpm: Building for target x86_64-pld-linux rpm: warning: %changelog not in descending chronological order rpm: warning: Could not canonicalize hostname: ymir rpm: error: Failed build dependencies: rpm: python3-pytest-memray >= 1.8.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: python3-quart-trio >= 0.12.0 is needed by python3-urllib3-2.6.3-1.noarch rpm: rpm: RPM build warnings: rpm: %changelog not in descending chronological order rpm: Could not canonicalize hostname: ymir installing BR: python3\-pytest\-memray python3\-quart\-trio + poldek --noask --caplookup -Q -v '--ignore=hhvm-*' '--ignore=php4-*' '--ignore=php52-*' '--ignore=php54-*' '--ignore=php55-*' '--ignore=php56-*' '--ignore=php70-*' '--ignore=php71-*' '--ignore=php72-*' '--ignore=php73-*' '--ignore=php74-*' '--ignore=php80-*' '--ignore=php81-*' '--ignore=php82-*' '--pmopt=--nodigest' --upgrade python3-pytest-memray python3-quart-trio Loading [pndir]th-ready... Loading [pndir]ready... Loading [pndir]th-test... Loading [pndir]th... Loading [pndir]th-test... Loading [pndir]th-ready... Loading [pndir]th... 36408 packages read Removed 3991 duplicate packages from available set Processing dependencies... There are 2 packages to install: A python3-pytest-memray-1.8.0-1.noarch python3-quart-trio-0.12.0-1.noarch This operation will use 202.8KB of disk space. Need to get 82.8KB of archives. python3-pytest-memray-1.8.0-1.noarch.rpm: digests OK python3-quart-trio-0.12.0-1.noarch.rpm: digests OK Executing pm-command.sh --upgrade -vh --root / --nodigest... warning: /root/.cache/poldek/ftp_ep09.pld-linux.org.dists.th.PLD.noarch.RPMS/python3-quart-trio-0.12.0-1.noarch.rpm: Header OpenPGP V4 DSA/SHA1 signature, key ID af3f93bce4f1bc2d: NOKEY Preparing... ######################################## Updating / installing... python3-quart-trio-0.12.0-1 ######################################## python3-pytest-memray-1.8.0-1 ######################################## building RPM using: set -ex; : build-id: 2e909dd3-4e82-4c44-9d48-4c7ff73bbcbc; TMPDIR=/tmp/B.yz2stidd/BUILD/tmp exec nice -n 0 rpmbuild -bb --define '__jobs 28' --define '_smp_mflags -j28' --define '_make_opts -Otarget' --define '_pld_builder 1' --define '_topdir /tmp/B.yz2stidd' --define '_specdir %{_topdir}' --define '_sourcedir %{_specdir}' --define '_rpmdir %{_topdir}/RPMS' --define '_builddir %{_topdir}/BUILD' --target x86_64-pld-linux /tmp/B.yz2stidd/python3-urllib3.spec + : build-id: 2e909dd3-4e82-4c44-9d48-4c7ff73bbcbc + TMPDIR=/tmp/B.yz2stidd/BUILD/tmp + exec nice -n 0 rpmbuild -bb --define '__jobs 28' --define '_smp_mflags -j28' --define '_make_opts -Otarget' --define '_pld_builder 1' --define '_topdir /tmp/B.yz2stidd' --define '_specdir %{_topdir}' --define '_sourcedir %{_specdir}' --define '_rpmdir %{_topdir}/RPMS' --define '_builddir %{_topdir}/BUILD' --target x86_64-pld-linux /tmp/B.yz2stidd/python3-urllib3.spec Building target platforms: x86_64-pld-linux Building for target x86_64-pld-linux warning: %changelog not in descending chronological order warning: Could not canonicalize hostname: ymir Executing(%mkbuilddir): /bin/sh -e /tmp/B.yz2stidd/BUILD/tmp/rpm-tmp.RsDkoZ Executing(%prep): /bin/sh -e /tmp/B.yz2stidd/BUILD/tmp/rpm-tmp.CCYMAH + umask 022 + cd /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build + cd /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build + rm -rf urllib3-2.6.3 + /usr/lib/rpm/rpmuncompress -x /tmp/B.yz2stidd/urllib3-2.6.3.tar.gz + STATUS=0 + '[' 0 -ne 0 ']' + cd urllib3-2.6.3 + /bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 + jobs -p + exit 0 Executing(%build): /bin/sh -e /tmp/B.yz2stidd/BUILD/tmp/rpm-tmp.aOB1rs TMP=/home/users/builder/tmp HOME=/home/users/builder PATH=/home/users/builder/GNUstep/Tools:/bin:/usr/bin:/usr/local/bin:/home/users/builder/bin TMPDIR=/tmp/B.yz2stidd/BUILD/tmp + umask 022 + cd /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build + cd urllib3-2.6.3 + LDFLAGS='-Wl,--as-needed -Wl,--no-copy-dt-needed-entries -Wl,-z,relro -Wl,-z,combreloc ' + export LDFLAGS + CFLAGS='-DNDEBUG -DQT_NO_DEBUG -O2 -fwrapv -pipe -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=trampolines -fPIC -march=x86-64 -mtune=generic -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2 -Wformat -Werror=format-security ' + export CFLAGS + CXXFLAGS='-DNDEBUG -DQT_NO_DEBUG -O2 -fwrapv -pipe -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2 -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=4 -Werror=trampolines -fPIC -march=x86-64 -mtune=generic -gdwarf-4 -fno-debug-types-section -fvar-tracking-assignments -g2 -Wformat -Werror=format-security ' + export CXXFLAGS + CC=/usr/bin/x86_64-pld-linux-gcc + export CC + CXX=/usr/bin/x86_64-pld-linux-g++ + export CXX + PKG_CONFIG_ALLOW_CROSS=1 + export PKG_CONFIG_ALLOW_CROSS + RUSTC=/usr/bin/rustc + export RUSTC + RUSTFLAGS='-C debuginfo=2 -C strip=none ' + export RUSTFLAGS + /usr/bin/python3 -m build --wheel --no-isolation --outdir build-3 * Getting build dependencies for wheel... * Building wheel... Successfully built urllib3-2.6.3-py3-none-any.whl + pwd + PYTHONPATH=/tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/src PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 PYTEST_PLUGINS=anyio.pytest_plugin,pytest_memray.plugin,pytest_socket,pytest_timeout /usr/bin/python3 -m pytest test -k 'not (test_client_intermediate or test_client_key_password or test_alpn_default or test_http2_probe_result_is_cached or test_basic_proxy or test_https_proxy or test_is_verified_http_proxy_to_https_target or test_is_verified_https_proxy_to_https_target or test_http_and_https_kwarg_ca_cert_data_proxy or test_https_proxy_with_proxy_ssl_context or test_oldapi or test_proxy_verified or test_headers or test_https_headers or test_proxy_pooling or test_scheme_host_case_insensitive or test_https_proxy_assert_fingerprint_md5 or test_https_proxy_assert_hostname or test_https_proxy_ipv4_san or test_https_proxy_ipv6_san or test_https_proxy_no_san_hostname_checks_common_name or test_proxy_https_target_tls_error)' ============================= test session starts ============================== platform linux -- Python 3.13.12, pytest-8.4.2, pluggy-1.5.0 rootdir: /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3 configfile: pyproject.toml collected 2261 items / 103 deselected / 1 skipped / 2158 selected test/contrib/test_pyopenssl.py ......................................... [ 1%] ............................ssssssssssssssssssssssssssssssssssssssssssss [ 5%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 8%] ssss...s.......................F..F..............ss..xs..F.......s...... [ 11%] .................F..F........s.....ss..xs..F.s.......................... [ 15%] ..........sssss.... [ 16%] test/contrib/test_pyopenssl_dependencies.py .. [ 16%] test/contrib/test_socks.py ................... [ 17%] test/test_collections.py ............................................... [ 19%] .. [ 19%] test/test_compatibility.py .. [ 19%] test/test_connection.py ................................................ [ 21%] ........................................................................ [ 25%] ........................................................................ [ 28%] ........................................................................ [ 31%] ............... [ 32%] test/test_connectionpool.py ............................................ [ 34%] .............................. [ 35%] test/test_exceptions.py ................... [ 36%] test/test_fields.py .................... [ 37%] test/test_filepost.py ......... [ 38%] test/test_http2_connection.py .................. [ 38%] test/test_no_ssl.py .. [ 38%] test/test_poolmanager.py s.................................... [ 40%] test/test_proxymanager.py ...... [ 40%] test/test_queue_monkeypatch.py . [ 41%] test/test_response.py .................................................. [ 43%] ........................................................................ [ 46%] ........................................................................ [ 50%] ..... [ 50%] test/test_retry.py ..................................................... [ 52%] ......... [ 53%] test/test_ssl.py ............................................. [ 55%] test/test_ssltransport.py ................. [ 55%] test/test_util.py ...................................................... [ 58%] ........................................................................ [ 61%] ........................................................................ [ 65%] ..........................................sss...sss..................... [ 68%] ................................................................. [ 71%] test/test_wait.py ............. [ 72%] test/with_dummyserver/test_chunked_transfer.py ....................... [ 73%] test/with_dummyserver/test_connection.py ........ [ 73%] test/with_dummyserver/test_connectionpool.py ........................... [ 74%] ........................................................................ [ 78%] ............... [ 78%] test/with_dummyserver/test_https.py ssssssssssssssssssssssssssssssssssss [ 80%] ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss [ 83%] ssssssss...s.......................F..F..................xs..........s.. [ 87%] .....................F..F........s.........xs....s....s..s.....ss...ssss [ 90%] [ 90%] test/with_dummyserver/test_no_ssl.py .. [ 90%] test/with_dummyserver/test_poolmanager.py .............................. [ 91%] .............................s [ 93%] test/with_dummyserver/test_proxy_poolmanager.py .......s....FFFFFFFFFF.. [ 94%] .s [ 94%] test/with_dummyserver/test_socketlevel.py .............................. [ 95%] ................sssss.....s..................................s.s.s...... [ 99%] ............... [100%] =================================== FAILURES =================================== _____________________ TestHTTPS_TLSv1_2.test_https_timeout _____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ___________________ TestHTTPS_TLSv1_2.test_enhanced_timeout ____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____________ TestHTTPS_TLSv1_2.test_http2_probe_blocked_per_thread _____________ self = def test_http2_probe_blocked_per_thread(self) -> None: state, current_thread, last_action = None, None, time.perf_counter() def connect_callback(label: str, thread_id: int, **kwargs: typing.Any) -> None: nonlocal state, current_thread, last_action if label in ("before connect", "after connect failure"): # We don't know if the target supports HTTP/2 as connections fail assert kwargs["target_supports_http2"] is None # Since we're trying to connect to TARPIT_HOST, all connections will # fail, but they should be tried one after the other now = time.perf_counter() assert now >= last_action last_action = now if label == "before connect": assert state is None state = "connect" assert current_thread != thread_id current_thread = thread_id elif label == "after connect failure": assert state == "connect" assert current_thread == thread_id state = None assert http2_probe._values() == {} connect_timeout = LONG_TIMEOUT total_threads = 3 urllib3.http2.inject_into_urllib3() try: def try_connect(_: typing.Any) -> tuple[float, float]: with HTTPSConnectionPool( TARPIT_HOST, self.port, ca_certs=DEFAULT_CA, timeout=connect_timeout, ) as pool: start_time = time.time() conn = pool._get_conn() assert isinstance(conn, HTTPSConnection) conn._connect_callback = connect_callback with pytest.raises(ConnectTimeoutError): conn.connect() end_time = time.time() return start_time, end_time threadpool = concurrent.futures.ThreadPoolExecutor(total_threads) > list(threadpool.map(try_connect, range(total_threads))) test/with_dummyserver/test_https.py:1114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/concurrent/futures/_base.py:619: in result_iterator yield _result_or_cancel(fs.pop()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:317: in _result_or_cancel return fut.result(timeout) ^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:449: in result return self.__get_result() ^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:401: in __get_result raise self._exception /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/with_dummyserver/test_https.py:1109: in try_connect conn.connect() src/urllib3/http2/connection.py:106: in connect super().connect() src/urllib3/connection.py:751: in connect self._connect_callback( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ label = 'before connect', thread_id = 140277109122752 kwargs = {'target_supports_http2': None}, @py_assert0 = None, @py_assert3 = None @py_assert2 = None, @py_format5 = 'assert 140277109122752 != 140277109122752' now = 1508059.344669137, @py_assert1 = False def connect_callback(label: str, thread_id: int, **kwargs: typing.Any) -> None: nonlocal state, current_thread, last_action if label in ("before connect", "after connect failure"): # We don't know if the target supports HTTP/2 as connections fail assert kwargs["target_supports_http2"] is None # Since we're trying to connect to TARPIT_HOST, all connections will # fail, but they should be tried one after the other now = time.perf_counter() assert now >= last_action last_action = now if label == "before connect": assert state is None state = "connect" > assert current_thread != thread_id E assert 140277109122752 != 140277109122752 test/with_dummyserver/test_https.py:1083: AssertionError ------------------------------ Captured log call ------------------------------- DEBUG urllib3.connectionpool:connectionpool.py:1049 Starting new HTTPS connection (1): 240.0.0.0:34197 DEBUG urllib3.connectionpool:connectionpool.py:1049 Starting new HTTPS connection (1): 240.0.0.0:34197 _____________________ TestHTTPS_TLSv1_3.test_https_timeout _____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ___________________ TestHTTPS_TLSv1_3.test_enhanced_timeout ____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____________ TestHTTPS_TLSv1_3.test_http2_probe_blocked_per_thread _____________ self = def test_http2_probe_blocked_per_thread(self) -> None: state, current_thread, last_action = None, None, time.perf_counter() def connect_callback(label: str, thread_id: int, **kwargs: typing.Any) -> None: nonlocal state, current_thread, last_action if label in ("before connect", "after connect failure"): # We don't know if the target supports HTTP/2 as connections fail assert kwargs["target_supports_http2"] is None # Since we're trying to connect to TARPIT_HOST, all connections will # fail, but they should be tried one after the other now = time.perf_counter() assert now >= last_action last_action = now if label == "before connect": assert state is None state = "connect" assert current_thread != thread_id current_thread = thread_id elif label == "after connect failure": assert state == "connect" assert current_thread == thread_id state = None assert http2_probe._values() == {} connect_timeout = LONG_TIMEOUT total_threads = 3 urllib3.http2.inject_into_urllib3() try: def try_connect(_: typing.Any) -> tuple[float, float]: with HTTPSConnectionPool( TARPIT_HOST, self.port, ca_certs=DEFAULT_CA, timeout=connect_timeout, ) as pool: start_time = time.time() conn = pool._get_conn() assert isinstance(conn, HTTPSConnection) conn._connect_callback = connect_callback with pytest.raises(ConnectTimeoutError): conn.connect() end_time = time.time() return start_time, end_time threadpool = concurrent.futures.ThreadPoolExecutor(total_threads) > list(threadpool.map(try_connect, range(total_threads))) test/with_dummyserver/test_https.py:1114: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib64/python3.13/concurrent/futures/_base.py:619: in result_iterator yield _result_or_cancel(fs.pop()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:317: in _result_or_cancel return fut.result(timeout) ^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:449: in result return self.__get_result() ^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/concurrent/futures/_base.py:401: in __get_result raise self._exception /usr/lib64/python3.13/concurrent/futures/thread.py:59: in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ test/with_dummyserver/test_https.py:1109: in try_connect conn.connect() src/urllib3/http2/connection.py:106: in connect super().connect() src/urllib3/connection.py:751: in connect self._connect_callback( _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ label = 'before connect', thread_id = 140277109122752 kwargs = {'target_supports_http2': None}, @py_assert0 = None, @py_assert3 = None @py_assert2 = None, @py_format5 = 'assert 140277109122752 != 140277109122752' now = 1508060.021960524, @py_assert1 = False def connect_callback(label: str, thread_id: int, **kwargs: typing.Any) -> None: nonlocal state, current_thread, last_action if label in ("before connect", "after connect failure"): # We don't know if the target supports HTTP/2 as connections fail assert kwargs["target_supports_http2"] is None # Since we're trying to connect to TARPIT_HOST, all connections will # fail, but they should be tried one after the other now = time.perf_counter() assert now >= last_action last_action = now if label == "before connect": assert state is None state = "connect" > assert current_thread != thread_id E assert 140277109122752 != 140277109122752 test/with_dummyserver/test_https.py:1083: AssertionError ------------------------------ Captured log call ------------------------------- DEBUG urllib3.connectionpool:connectionpool.py:1049 Starting new HTTPS connection (1): 240.0.0.0:38173 DEBUG urllib3.connectionpool:connectionpool.py:1049 Starting new HTTPS connection (1): 240.0.0.0:38173 _____________________ TestHTTPS_TLSv1_2.test_https_timeout _____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ___________________ TestHTTPS_TLSv1_2.test_enhanced_timeout ____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _____________________ TestHTTPS_TLSv1_3.test_https_timeout _____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ___________________ TestHTTPS_TLSv1_3.test_enhanced_timeout ____________________ args = (,) kwargs = {} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_request_timeout[http-http-False] __ args = (,) kwargs = {'proxy_scheme': 'http', 'target_scheme': 'http', 'use_forwarding_for_https': False} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_request_timeout[https-http-False] _ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'http', 'use_forwarding_for_https': False} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_request_timeout[https-https-True] _ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'https', 'use_forwarding_for_https': True} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____ TestHTTPProxyManager.test_tunneling_proxy_request_timeout[http-https] _____ args = (,) kwargs = {'proxy_scheme': 'http', 'target_scheme': 'https'} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____ TestHTTPProxyManager.test_tunneling_proxy_request_timeout[https-https] ____ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'https'} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_connect_timeout[http-http-False] __ args = (,) kwargs = {'proxy_scheme': 'http', 'target_scheme': 'http', 'use_forwarding_for_https': False} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_connect_timeout[https-http-False] _ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'http', 'use_forwarding_for_https': False} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError _ TestHTTPProxyManager.test_forwarding_proxy_connect_timeout[https-https-True] _ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'https', 'use_forwarding_for_https': True} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____ TestHTTPProxyManager.test_tunneling_proxy_connect_timeout[http-https] _____ args = (,) kwargs = {'proxy_scheme': 'http', 'target_scheme': 'https'} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError ____ TestHTTPProxyManager.test_tunneling_proxy_connect_timeout[https-https] ____ args = (,) kwargs = {'proxy_scheme': 'https', 'target_scheme': 'https'} @wraps(f) def wrapper(*args: typing.Any, **kwargs: typing.Any) -> typing.Any: global _requires_network_has_route if _requires_network_has_route is None: > _requires_network_has_route = _has_route() ^^^^^^^^^^^^ test/__init__.py:177: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ test/__init__.py:159: in _has_route sock = socket.create_connection((TARPIT_HOST, 80), 0.0001) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /usr/lib64/python3.13/socket.py:864: in create_connection raise exceptions[0] _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ address = ('240.0.0.0', 80), timeout = 0.0001, source_address = None def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT, source_address=None, *, all_errors=False): """Connect to *address* and return the socket object. Convenience function. Connect to *address* (a 2-tuple ``(host, port)``) and return the socket object. Passing the optional *timeout* parameter will set the timeout on the socket instance before attempting to connect. If no *timeout* is supplied, the global default timeout setting returned by :func:`getdefaulttimeout` is used. If *source_address* is set it must be a tuple of (host, port) for the socket to bind as a source address before making the connection. A host of '' or port 0 tells the OS to use the default. When a connection cannot be created, raises the last error if *all_errors* is False, and an ExceptionGroup of all errors if *all_errors* is True. """ host, port = address exceptions = [] for res in getaddrinfo(host, port, 0, SOCK_STREAM): af, socktype, proto, canonname, sa = res sock = None try: sock = socket(af, socktype, proto) if timeout is not _GLOBAL_DEFAULT_TIMEOUT: sock.settimeout(timeout) if source_address: sock.bind(source_address) > sock.connect(sa) E ConnectionRefusedError: [Errno 111] Connection refused /usr/lib64/python3.13/socket.py:849: ConnectionRefusedError =============================== warnings summary =============================== test/contrib/test_pyopenssl.py: 30 warnings test/contrib/test_socks.py: 17 warnings test/test_ssltransport.py: 12 warnings test/with_dummyserver/test_chunked_transfer.py: 23 warnings test/with_dummyserver/test_connectionpool.py: 5 warnings test/with_dummyserver/test_socketlevel.py: 107 warnings /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/dummyserver/socketserver.py:125: NoIPv6Warning: No IPv6 support. Falling back to IPv4. warnings.warn("No IPv6 support. Falling back to IPv4.", NoIPv6Warning) test/contrib/test_pyopenssl.py: 15 warnings test/with_dummyserver/test_socketlevel.py: 18 warnings /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/with_dummyserver/test_socketlevel.py:159: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated context = ssl.SSLContext(ssl_version) test/contrib/test_socks.py::TestSOCKSWithTLS::test_basic_request /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/contrib/test_socks.py:745: 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] /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/src/urllib3/util/ssl_.py:301: 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] /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/src/urllib3/util/ssl_.py:306: DeprecationWarning: ssl.TLSVersion.TLSv1 is deprecated context.maximum_version = ssl_maximum_version test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_source_address /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/with_dummyserver/test_connectionpool.py:833: NoIPv6Warning: No IPv6 support: skipping. warnings.warn("No IPv6 support: skipping.", NoIPv6Warning) 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 /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/with_dummyserver/test_socketlevel.py:367: 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 /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/with_dummyserver/test_socketlevel.py:386: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23) test/with_dummyserver/test_socketlevel.py::TestClientCerts::test_load_invalid_cert_file /tmp/B.yz2stidd/BUILD/python3-urllib3-2.6.3-build/urllib3-2.6.3/test/with_dummyserver/test_socketlevel.py:396: DeprecationWarning: ssl.PROTOCOL_TLS is deprecated context = ssl_.SSLContext(ssl_.PROTOCOL_SSLv23) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_https_timeout FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_enhanced_timeout FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_2::test_http2_probe_blocked_per_thread FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_https_timeout FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_enhanced_timeout FAILED test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_3::test_http2_probe_blocked_per_thread FAILED test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_https_timeout FAILED test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_2::test_enhanced_timeout FAILED test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_https_timeout FAILED test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_3::test_enhanced_timeout FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_request_timeout[http-http-False] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_request_timeout[https-http-False] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_request_timeout[https-https-True] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_tunneling_proxy_request_timeout[http-https] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_tunneling_proxy_request_timeout[https-https] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_connect_timeout[http-http-False] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_connect_timeout[https-http-False] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_forwarding_proxy_connect_timeout[https-https-True] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_tunneling_proxy_connect_timeout[http-https] FAILED test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_tunneling_proxy_connect_timeout[https-https] = 20 failed, 1850 passed, 285 skipped, 103 deselected, 4 xfailed, 239 warnings in 33.38s = error: Bad exit status from /tmp/B.yz2stidd/BUILD/tmp/rpm-tmp.aOB1rs (%build) RPM build warnings: %changelog not in descending chronological order Could not canonicalize hostname: ymir RPM build errors: Bad exit status from /tmp/B.yz2stidd/BUILD/tmp/rpm-tmp.aOB1rs (%build) ended at: Sun Mar 15 19:57:17 2026, done in 0:00:38.044509 error: No files produced. + chmod -R u+rwX /tmp/B.yz2stidd/BUILD + rm -rf /tmp/B.yz2stidd/tmp /tmp/B.yz2stidd/BUILD + rm -rf /tmp/B.yz2stidd Begin-PLD-Builder-Info Build-Time: user:24.46s sys:3.99s real:47.93s (faults io:121 non-io:585695) End-PLD-Builder-Info