Package: src:pytest-httpx Version: 0.34.0-1 Severity: serious Tags: ftbfs trixie sid
Dear maintainer: During a rebuild of all packages in unstable, your package failed to build: -------------------------------------------------------------------------------- [...] debian/rules clean dh clean --buildsystem=pybuild debian/rules override_dh_auto_clean make[1]: Entering directory '/<<PKGBUILDDIR>>' dh_auto_clean rm -rf pytest_httpx.egg-info/ make[1]: Leaving directory '/<<PKGBUILDDIR>>' dh_autoreconf_clean -O--buildsystem=pybuild dh_clean -O--buildsystem=pybuild debian/rules binary dh binary --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.13 with "build" module I: pybuild base:311: python3.13 -m build --skip-dependency-check --no-isolation --wheel --outdir /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-httpx * Building wheel... No `packages` or `py_modules` configuration, performing automatic discovery. `flat-layout` detected -- analysing . discovered packages -- ['pytest_httpx'] running bdist_wheel running build running build_py creating build/lib/pytest_httpx copying pytest_httpx/_httpx_internals.py -> build/lib/pytest_httpx copying pytest_httpx/_httpx_mock.py -> build/lib/pytest_httpx copying pytest_httpx/__init__.py -> build/lib/pytest_httpx copying pytest_httpx/_request_matcher.py -> build/lib/pytest_httpx copying pytest_httpx/_pretty_print.py -> build/lib/pytest_httpx copying pytest_httpx/version.py -> build/lib/pytest_httpx copying pytest_httpx/_options.py -> build/lib/pytest_httpx running egg_info creating pytest_httpx.egg-info writing pytest_httpx.egg-info/PKG-INFO writing dependency_links to pytest_httpx.egg-info/dependency_links.txt writing entry points to pytest_httpx.egg-info/entry_points.txt writing requirements to pytest_httpx.egg-info/requires.txt writing top-level names to pytest_httpx.egg-info/top_level.txt writing manifest file 'pytest_httpx.egg-info/SOURCES.txt' reading manifest file 'pytest_httpx.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' adding license file 'LICENSE' writing manifest file 'pytest_httpx.egg-info/SOURCES.txt' copying pytest_httpx/py.typed -> build/lib/pytest_httpx installing to build/bdist.linux-x86_64/wheel running install running install_lib creating build/bdist.linux-x86_64/wheel creating build/bdist.linux-x86_64/wheel/pytest_httpx copying build/lib/pytest_httpx/_httpx_internals.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/_httpx_mock.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/__init__.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/_request_matcher.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/_pretty_print.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/py.typed -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/version.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx copying build/lib/pytest_httpx/_options.py -> build/bdist.linux-x86_64/wheel/./pytest_httpx running install_egg_info Copying pytest_httpx.egg-info to build/bdist.linux-x86_64/wheel/./pytest_httpx-0.34.0.egg-info running install_scripts creating build/bdist.linux-x86_64/wheel/pytest_httpx-0.34.0.dist-info/WHEEL creating '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-httpx/.tmp-dq5bmhgu/pytest_httpx-0.34.0-py3-none-any.whl' and adding 'build/bdist.linux-x86_64/wheel' to it adding 'pytest_httpx/__init__.py' adding 'pytest_httpx/_httpx_internals.py' adding 'pytest_httpx/_httpx_mock.py' adding 'pytest_httpx/_options.py' adding 'pytest_httpx/_pretty_print.py' adding 'pytest_httpx/_request_matcher.py' adding 'pytest_httpx/py.typed' adding 'pytest_httpx/version.py' adding 'pytest_httpx-0.34.0.dist-info/LICENSE' adding 'pytest_httpx-0.34.0.dist-info/METADATA' adding 'pytest_httpx-0.34.0.dist-info/WHEEL' adding 'pytest_httpx-0.34.0.dist-info/entry_points.txt' adding 'pytest_httpx-0.34.0.dist-info/top_level.txt' adding 'pytest_httpx-0.34.0.dist-info/RECORD' removing build/bdist.linux-x86_64/wheel Successfully built pytest_httpx-0.34.0-py3-none-any.whl I: pybuild plugin_pyproject:144: Unpacking wheel built for python3.13 with "installer" module dh_auto_test -O--buildsystem=pybuild I: pybuild base:311: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-httpx/build; python3.13 -m pytest -k "not proxy" ============================= test session starts ============================== platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0 rootdir: /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-httpx/build configfile: pyproject.toml plugins: httpx-0.34.0, asyncio-0.25.1, anyio-4.8.0, typeguard-4.4.2 asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=function collected 272 items / 10 deselected / 262 selected tests/test_httpx_async.py .............................................. [ 17%] .........................FF............................................. [ 45%] ..... [ 46%] tests/test_httpx_sync.py ............................................... [ 64%] ...................FF................................................. [ 91%] tests/test_plugin.py ...................... [100%] =================================== FAILURES =================================== ____________________________ test_json_not_matching ____________________________ httpx_mock = <pytest_httpx._httpx_mock.HTTPXMock object at 0x7fc9399b9e80> @pytest.mark.asyncio @pytest.mark.httpx_mock(assert_all_requests_were_expected=False) async def test_json_not_matching(httpx_mock: HTTPXMock) -> None: httpx_mock.add_response(match_json={"a": 1, "b": 2}, is_optional=True) async with httpx.AsyncClient() as client: with pytest.raises(httpx.TimeoutException) as exception_info: await client.post("https://test_url", json={"c": 3, "b": 2, "a": 1}) > assert ( str(exception_info.value) == """No response can be found for POST request on https://test_url with b'{"c": 3, "b": 2, "a": 1}' body amongst: - Match any request with {'a': 1, 'b': 2} json body""" ) E assert 'No response ... 2} json body' == 'No response ... 2} json body' E E Skipping 64 identical leading characters in diff, use -v to show E - th b'{"c": 3, "b": 2, "a": 1}' body amongst: E ? - - - - - E + th b'{"c":3,"b":2,"a":1}' body amongst: E - Match any request with {'a': 1, 'b': 2} json body tests/test_httpx_async.py:1481: AssertionError ______________________ test_headers_and_json_not_matching ______________________ httpx_mock = <pytest_httpx._httpx_mock.HTTPXMock object at 0x7fc939ed8ec0> @pytest.mark.asyncio @pytest.mark.httpx_mock(assert_all_requests_were_expected=False) async def test_headers_and_json_not_matching(httpx_mock: HTTPXMock) -> None: httpx_mock.add_response( match_json={"a": 1, "b": 2}, match_headers={"foo": "bar"}, is_optional=True, ) async with httpx.AsyncClient() as client: with pytest.raises(httpx.TimeoutException) as exception_info: await client.post("https://test_url", json={"c": 3, "b": 2, "a": 1}) > assert ( str(exception_info.value) == """No response can be found for POST request on https://test_url with {} headers and b'{"c": 3, "b": 2, "a": 1}' body amongst: - Match any request with {'foo': 'bar'} headers and {'a': 1, 'b': 2} json body""" ) E assert 'No response ... 2} json body' == 'No response ... 2} json body' E E Skipping 79 identical leading characters in diff, use -v to show E - nd b'{"c": 3, "b": 2, "a": 1}' body amongst: E ? - - - - - E + nd b'{"c":3,"b":2,"a":1}' body amongst: E - Match any request with {'foo': 'bar'} headers and {'a': 1, 'b': 2} json body tests/test_httpx_async.py:1500: AssertionError ____________________________ test_json_not_matching ____________________________ httpx_mock = <pytest_httpx._httpx_mock.HTTPXMock object at 0x7fc9399f11d0> @pytest.mark.httpx_mock(assert_all_requests_were_expected=False) def test_json_not_matching(httpx_mock: HTTPXMock) -> None: httpx_mock.add_response(match_json={"a": 1, "b": 2}, is_optional=True) with httpx.Client() as client: with pytest.raises(httpx.TimeoutException) as exception_info: client.post("https://test_url", json={"c": 3, "b": 2, "a": 1}) > assert ( str(exception_info.value) == """No response can be found for POST request on https://test_url with b'{"c": 3, "b": 2, "a": 1}' body amongst: - Match any request with {'a': 1, 'b': 2} json body""" ) E assert 'No response ... 2} json body' == 'No response ... 2} json body' E E Skipping 64 identical leading characters in diff, use -v to show E - th b'{"c": 3, "b": 2, "a": 1}' body amongst: E ? - - - - - E + th b'{"c":3,"b":2,"a":1}' body amongst: E - Match any request with {'a': 1, 'b': 2} json body tests/test_httpx_sync.py:1240: AssertionError ______________________ test_headers_and_json_not_matching ______________________ httpx_mock = <pytest_httpx._httpx_mock.HTTPXMock object at 0x7fc939e5c2f0> @pytest.mark.httpx_mock(assert_all_requests_were_expected=False) def test_headers_and_json_not_matching(httpx_mock: HTTPXMock) -> None: httpx_mock.add_response( match_json={"a": 1, "b": 2}, match_headers={"foo": "bar"}, is_optional=True, ) with httpx.Client() as client: with pytest.raises(httpx.TimeoutException) as exception_info: client.post("https://test_url", json={"c": 3, "b": 2, "a": 1}) > assert ( str(exception_info.value) == """No response can be found for POST request on https://test_url with {} headers and b'{"c": 3, "b": 2, "a": 1}' body amongst: - Match any request with {'foo': 'bar'} headers and {'a': 1, 'b': 2} json body""" ) E assert 'No response ... 2} json body' == 'No response ... 2} json body' E E Skipping 79 identical leading characters in diff, use -v to show E - nd b'{"c": 3, "b": 2, "a": 1}' body amongst: E ? - - - - - E + nd b'{"c":3,"b":2,"a":1}' body amongst: E - Match any request with {'foo': 'bar'} headers and {'a': 1, 'b': 2} json body tests/test_httpx_sync.py:1258: AssertionError =============================== warnings summary =============================== tests/test_httpx_async.py: 1 warning tests/test_httpx_sync.py: 1 warning tests/test_plugin.py: 22 warnings /usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:207: PytestDeprecationWarning: The configuration option "asyncio_default_fixture_loop_scope" is unset. The event loop scope for asynchronous fixtures will default to the fixture caching scope. Future versions of pytest-asyncio will default the loop scope for asynchronous fixtures to function scope. Set the default fixture loop scope explicitly in order to avoid unexpected behavior in the future. Valid fixture loop scopes are: "function", "class", "module", "package", "session" warnings.warn(PytestDeprecationWarning(_DEFAULT_FIXTURE_LOOP_SCOPE_UNSET)) -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================ FAILED tests/test_httpx_async.py::test_json_not_matching - assert 'No respons... FAILED tests/test_httpx_async.py::test_headers_and_json_not_matching - assert... FAILED tests/test_httpx_sync.py::test_json_not_matching - assert 'No response... FAILED tests/test_httpx_sync.py::test_headers_and_json_not_matching - assert ... ========== 4 failed, 258 passed, 10 deselected, 24 warnings in 6.34s =========== E: pybuild pybuild:389: test: plugin pyproject failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_pytest-httpx/build; python3.13 -m pytest -k "not proxy" dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p 3.13 returned exit code 13 make: *** [debian/rules:7: binary] Error 25 dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2 -------------------------------------------------------------------------------- The above is just how the build ends and not necessarily the most relevant part. If required, the full build log is available here: https://people.debian.org/~sanvila/build-logs/202503/ About the archive rebuild: The build was made on virtual machines from AWS, using sbuild and a reduced chroot with only build-essential packages. If you could not reproduce the bug please contact me privately, as I am willing to provide ssh access to a virtual machine where the bug is fully reproducible. If this is really a bug in one of the build-depends, please use reassign and add an affects on src:pytest-httpx, so that this is still visible in the BTS web page for this package. Thanks.