Package: src:python-respx
Version: 0.21.1-2
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
dh_auto_clean -O--buildsystem=pybuild
I: pybuild base:311: python3.13 setup.py clean
running clean
removing '/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build' (and everything under it)
'build/bdist.linux-x86_64' does not exist -- can't clean it 'build/scripts-3.13' does not exist -- can't clean it
dh_autoreconf_clean -O--buildsystem=pybuild
debian/rules override_dh_clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
dh_clean
rm -f coverage.xml
rm -f .coverage
[... snipped ...]
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa18f9d3920>
request = <Request(b'GET', '
https://foo.bar/')>
@contextmanager
def resolver(self, request: httpx.Request) -> Generator[ResolvedRoute, None, None]:
resolved = ResolvedRoute()
try:
yield resolved
if resolved.route is None:
# Assert we always get a route match, if check is enabled
if self._assert_all_mocked:
raise AllMockedAssertionError(f"RESPX: {request!r} not mocked!")
E respx.models.AllMockedAssertionError: RESPX: <Request(b'GET', '
https://foo.bar/')> not mocked!
respx/router.py:250: AllMockedAssertionError
_____________________________ test_route_rollback ______________________________
async def test_route_rollback():
respx_mock = respx.mock()
def example(request, route):
route.mock(return_value=httpx.Response(404))
return httpx.Response(202)
route = respx_mock.delete("
https://example.org/foobar/")
route.side_effect = example
with respx_mock:
async with httpx.AsyncClient(base_url="
https://example.org/") as client:
response = await client.delete("/foobar/")
tests/test_mock.py:725:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/httpx/_client.py:1966: in delete
return await self.request( /usr/lib/python3/dist-packages/httpx/_client.py:1540: in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
/usr/lib/python3/dist-packages/httpx/_client.py:1629: in send
response = await self._send_handling_auth( /usr/lib/python3/dist-packages/httpx/_client.py:1657: in _send_handling_auth
response = await self._send_handling_redirects( /usr/lib/python3/dist-packages/httpx/_client.py:1694: in _send_handling_redirects
response = await self._send_single_request(request) /usr/lib/python3/dist-packages/httpx/_client.py:1730: in _send_single_request
response = await transport.handle_async_request(request) /usr/lib/python3/dist-packages/httpx/_transports/default.py:394: in handle_async_request
resp = await self._pool.handle_async_request(req)
respx/mocks.py:190: in amock
response = await cls._send_async_request(
respx/mocks.py:224: in _send_async_request
httpx_response = await cls.async_handler(httpx_request)
respx/mocks.py:136: in async_handler
raise assertion_error
respx/mocks.py:129: in async_handler
httpx_response = await router.async_handler(httpx_request) respx/router.py:318: in async_handler
resolved = await self.aresolve(request)
respx/router.py:291: in aresolve
with self.resolver(request) as resolved: /usr/lib/python3.13/contextlib.py:148: in __exit__
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa18f1107a0>
request = <Request(b'DELETE', '
https://example.org/foobar/')>
@contextmanager
def resolver(self, request: httpx.Request) -> Generator[ResolvedRoute, None, None]:
resolved = ResolvedRoute()
try:
yield resolved
if resolved.route is None:
# Assert we always get a route match, if check is enabled
if self._assert_all_mocked:
raise AllMockedAssertionError(f"RESPX: {request!r} not mocked!")
E respx.models.AllMockedAssertionError: RESPX: <Request(b'DELETE', '
https://example.org/foobar/')> not mocked!
respx/router.py:250: AllMockedAssertionError
___________________________ test_respx_mock_fixture ____________________________
testdir = <Testdir local('/tmp/pytest-of-buildd/pytest-0/test_respx_mock_fixture0')>
def test_respx_mock_fixture(testdir):
testdir.makepyfile(
"""
import httpx
import pytest
from respx.plugin import respx_mock
@pytest.fixture
def some_fixture():
yield "foobar"
def test_plain_fixture(respx_mock):
route = respx_mock.get("
https://foo.bar/") % 204
response = httpx.get("
https://foo.bar/")
assert response.status_code == 204
@pytest.mark.respx(base_url="
https://foo.bar", assert_all_mocked=False)
def test_marked_fixture(respx_mock):
route = respx_mock.get("/") % 204
response = httpx.get("
https://foo.bar/")
assert response.status_code == 204
response = httpx.get("
https://example.org/")
assert response.status_code == 200
def test_with_extra_fixture(respx_mock, some_fixture):
import respx
assert isinstance(respx_mock, respx.Router)
assert some_fixture == "foobar"
@pytest.mark.respx(assert_all_mocked=False)
def test_marked_with_extra_fixture(respx_mock, some_fixture):
import respx
assert isinstance(respx_mock, respx.Router)
assert some_fixture == "foobar"
"""
)
result = testdir.runpytest("-p", "respx")
result.assert_outcomes(passed=4)
E AssertionError: assert {'errors': 1,...pped': 0, ...} == {'errors': 0,...pped': 0, ...}
E
E Omitting 3 identical items, use -vv to show
E Differing items:
E {'passed': 2} != {'passed': 4}
E {'failed': 2} != {'failed': 0}
E {'errors': 1} != {'errors': 0}
E Use -v to get more diff
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/tests/test_plugin.py:41: AssertionError
----------------------------- Captured stdout call -----------------------------
============================= test session starts ==============================
platform linux -- Python 3.13.2, pytest-8.3.4, pluggy-1.5.0
rootdir: /tmp/pytest-of-buildd/pytest-0/test_respx_mock_fixture0
plugins: asyncio-0.25.1, twisted-1.14.3, trio-0.8.0, cov-5.0.0, anyio-4.8.0, typeguard-4.4.2, tornasync-0.6.0.post2
asyncio: mode=Mode.STRICT, asyncio_default_fixture_loop_scope=None
collected 4 items
test_respx_mock_fixture.py FFE.. [100%]
==================================== ERRORS ====================================
___________________ ERROR at teardown of test_marked_fixture ___________________
request = <SubRequest 'respx_mock' for <Function test_marked_fixture>>
@pytest.fixture()
def respx_mock(request):
respx_marker = request.node.get_closest_marker("respx")
mock_router: MockRouter = (
respx.mock
if respx_marker is None
else cast(MockRouter, respx.mock(**respx_marker.kwargs))
)
with mock_router:
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/plugin.py:29:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:437: in __exit__
self.stop(quiet=bool(exc_type is not None)) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:479: in stop
self.assert_all_called()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa18f112de0>
def assert_all_called(self) -> None:
not_called_routes = [route for route in self.routes if not route.called]
assert not_called_routes == [], "RESPX: some routes were not called!"
E AssertionError: RESPX: some routes were not called!
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:102: AssertionError
=================================== FAILURES ===================================
______________________________ test_plain_fixture ______________________________
respx_mock = <respx.router.MockRouter object at 0x7fa19115b4d0>
def test_plain_fixture(respx_mock):
route = respx_mock.get("
https://foo.bar/") % 204
response = httpx.get("https://foo.bar/")
test_respx_mock_fixture.py:11:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3/dist-packages/httpx/_api.py:195: in get
return request(
/usr/lib/python3/dist-packages/httpx/_api.py:109: in request
return client.request(
/usr/lib/python3/dist-packages/httpx/_client.py:825: in request
return self.send(request, auth=auth, follow_redirects=follow_redirects) /usr/lib/python3/dist-packages/httpx/_client.py:914: in send
response = self._send_handling_auth( /usr/lib/python3/dist-packages/httpx/_client.py:942: in _send_handling_auth
response = self._send_handling_redirects( /usr/lib/python3/dist-packages/httpx/_client.py:979: in _send_handling_redirects
response = self._send_single_request(request) /usr/lib/python3/dist-packages/httpx/_client.py:1014: in _send_single_request
response = transport.handle_request(request) /usr/lib/python3/dist-packages/httpx/_transports/default.py:250: in handle_request
resp = self._pool.handle_request(req) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/mocks.py:181: in mock
response = cls._send_sync_request( /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/mocks.py:212: in _send_sync_request
httpx_response = cls.handler(httpx_request) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/mocks.py:120: in handler
raise assertion_error /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/mocks.py:113: in handler
httpx_response = router.handler(httpx_request) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:313: in handler
resolved = self.resolve(request) /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:277: in resolve
with self.resolver(request) as resolved: /usr/lib/python3.13/contextlib.py:148: in __exit__
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa19115b4d0>
request = <Request(b'GET', '
https://foo.bar/')>
@contextmanager
def resolver(self, request: httpx.Request) -> Generator[ResolvedRoute, None, None]:
resolved = ResolvedRoute()
try:
yield resolved
if resolved.route is None:
# Assert we always get a route match, if check is enabled
if self._assert_all_mocked:
raise AllMockedAssertionError(f"RESPX: {request!r} not mocked!")
E respx.models.AllMockedAssertionError: RESPX: <Request(b'GET', '
https://foo.bar/')> not mocked!
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/router.py:250: AllMockedAssertionError
_____________________________ test_marked_fixture ______________________________
respx_mock = <respx.router.MockRouter object at 0x7fa18f112de0>
@pytest.mark.respx(base_url="
https://foo.bar", assert_all_mocked=False)
def test_marked_fixture(respx_mock):
route = respx_mock.get("/") % 204
response = httpx.get("
https://foo.bar/")
assert response.status_code == 204
E assert 200 == 204
E + where 200 = <Response [200 OK]>.status_code
test_respx_mock_fixture.py:19: AssertionError
=============================== warnings summary ===============================
../../../../usr/lib/python3/dist-packages/_pytest/config/__init__.py:810
/usr/lib/python3/dist-packages/_pytest/config/__init__.py:810: PytestAssertRewriteWarning: Module already imported so cannot be rewritten: respx
self.import_plugin(arg, consider_entry_points=True)
test_respx_mock_fixture.py:15
/tmp/pytest-of-buildd/pytest-0/test_respx_mock_fixture0/test_respx_mock_fixture.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.respx - is this a typo? You can register custom marks to avoid this warning - for details, see
https://docs.pytest.org/
en/stable/how-to/mark.html
@pytest.mark.respx(base_url="
https://foo.bar", assert_all_mocked=False)
test_respx_mock_fixture.py:30
/tmp/pytest-of-buildd/pytest-0/test_respx_mock_fixture0/test_respx_mock_fixture.py:30: PytestUnknownMarkWarning: Unknown pytest.mark.respx - is this a typo? You can register custom marks to avoid this warning - for details, see
https://docs.pytest.org/
en/stable/how-to/mark.html
@pytest.mark.respx(assert_all_mocked=False)
-- Docs:
https://docs.pytest.org/en/stable/how-to/capture-warnings.html =========================== short test summary info ============================
FAILED test_respx_mock_fixture.py::test_plain_fixture - respx.models.AllMocke...
FAILED test_respx_mock_fixture.py::test_marked_fixture - assert 200 == 204 ERROR test_respx_mock_fixture.py::test_marked_fixture - AssertionError: RESPX...
=============== 2 failed, 2 passed, 3 warnings, 1 error in 0.23s ===============
_________________________________ test_asyncio _________________________________
def test_asyncio():
import asyncio
loop = asyncio.new_event_loop()
try:
loop.run_until_complete(backend_test())
tests/test_stats.py:97:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.13/asyncio/base_events.py:725: in run_until_complete
return future.result()
respx/router.py:407: in _async_decorator
return await func(*args, **kwargs)
tests/test_stats.py:43: in backend_test
get_response = await client.get(url) /usr/lib/python3/dist-packages/httpx/_client.py:1768: in get
return await self.request( /usr/lib/python3/dist-packages/httpx/_client.py:1540: in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
/usr/lib/python3/dist-packages/httpx/_client.py:1629: in send
response = await self._send_handling_auth( /usr/lib/python3/dist-packages/httpx/_client.py:1657: in _send_handling_auth
response = await self._send_handling_redirects( /usr/lib/python3/dist-packages/httpx/_client.py:1694: in _send_handling_redirects
response = await self._send_single_request(request) /usr/lib/python3/dist-packages/httpx/_client.py:1730: in _send_single_request
response = await transport.handle_async_request(request) /usr/lib/python3/dist-packages/httpx/_transports/default.py:394: in handle_async_request
resp = await self._pool.handle_async_request(req)
respx/mocks.py:190: in amock
response = await cls._send_async_request(
respx/mocks.py:224: in _send_async_request
httpx_response = await cls.async_handler(httpx_request)
respx/mocks.py:136: in async_handler
raise assertion_error
respx/mocks.py:129: in async_handler
httpx_response = await router.async_handler(httpx_request) respx/router.py:318: in async_handler
resolved = await self.aresolve(request)
respx/router.py:291: in aresolve
with self.resolver(request) as resolved: /usr/lib/python3.13/contextlib.py:148: in __exit__
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa19115b4d0>
request = <Request(b'GET', '
https://foo.bar/1/')>
@contextmanager
def resolver(self, request: httpx.Request) -> Generator[ResolvedRoute, None, None]:
resolved = ResolvedRoute()
try:
yield resolved
if resolved.route is None:
# Assert we always get a route match, if check is enabled
if self._assert_all_mocked:
raise AllMockedAssertionError(f"RESPX: {request!r} not mocked!")
E respx.models.AllMockedAssertionError: RESPX: <Request(b'GET', '
https://foo.bar/1/')> not mocked!
respx/router.py:250: AllMockedAssertionError
__________________________________ test_trio ___________________________________
def test_trio(): # pragma: nocover
import trio
trio.run(backend_test)
tests/test_stats.py:105:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ respx/router.py:407: in _async_decorator
return await func(*args, **kwargs)
tests/test_stats.py:43: in backend_test
get_response = await client.get(url) /usr/lib/python3/dist-packages/httpx/_client.py:1768: in get
return await self.request( /usr/lib/python3/dist-packages/httpx/_client.py:1540: in request
return await self.send(request, auth=auth, follow_redirects=follow_redirects)
/usr/lib/python3/dist-packages/httpx/_client.py:1629: in send
response = await self._send_handling_auth( /usr/lib/python3/dist-packages/httpx/_client.py:1657: in _send_handling_auth
response = await self._send_handling_redirects( /usr/lib/python3/dist-packages/httpx/_client.py:1694: in _send_handling_redirects
response = await self._send_single_request(request) /usr/lib/python3/dist-packages/httpx/_client.py:1730: in _send_single_request
response = await transport.handle_async_request(request) /usr/lib/python3/dist-packages/httpx/_transports/default.py:394: in handle_async_request
resp = await self._pool.handle_async_request(req)
respx/mocks.py:190: in amock
response = await cls._send_async_request(
respx/mocks.py:224: in _send_async_request
httpx_response = await cls.async_handler(httpx_request)
respx/mocks.py:136: in async_handler
raise assertion_error
respx/mocks.py:129: in async_handler
httpx_response = await router.async_handler(httpx_request) respx/router.py:318: in async_handler
resolved = await self.aresolve(request)
respx/router.py:291: in aresolve
with self.resolver(request) as resolved: /usr/lib/python3.13/contextlib.py:148: in __exit__
next(self.gen)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <respx.router.MockRouter object at 0x7fa19115b4d0>
request = <Request(b'GET', '
https://foo.bar/1/')>
@contextmanager
def resolver(self, request: httpx.Request) -> Generator[ResolvedRoute, None, None]:
resolved = ResolvedRoute()
try:
yield resolved
if resolved.route is None:
# Assert we always get a route match, if check is enabled
if self._assert_all_mocked:
raise AllMockedAssertionError(f"RESPX: {request!r} not mocked!")
E respx.models.AllMockedAssertionError: RESPX: <Request(b'GET', '
https://foo.bar/1/')> not mocked!
respx/router.py:250: AllMockedAssertionError
=============================== warnings summary ===============================
../../../../../../usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:256
/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:256: PytestDeprecationWarning: mocked_foo is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
warnings.warn(
../../../../../../usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:256
/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:256: PytestDeprecationWarning: mocked_ham is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
warnings.warn(
.pybuild/cpython3_3.13_respx/build/tests/test_api.py::test_http_methods
/usr/lib/python3/dist-packages/pytest_asyncio/plugin.py:866: DeprecationWarning: The event_loop fixture provided by pytest-asyncio has been redefined in
/<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build/respx/fixtures.py:8
Replacing the event_loop fixture with a custom implementation is deprecated
and will lead to errors in the future.
If you want to request an asyncio event loop with a scope other than function
scope, use the "loop_scope" argument to the asyncio mark when marking the tests.
If you want to return different types of event loops, use the event_loop_policy
fixture.
warnings.warn(
.pybuild/cpython3_3.13_respx/build/tests/test_plugin.py::test_respx_mock_fixture
/usr/lib/python3/dist-packages/pytest_tornasync/plugin.py:33: PytestDeprecationWarning: The hookimpl pytest_pycollect_makeitem uses old-style configuration options (marks or attributes).
Please use the pytest.hookimpl(tryfirst=True) decorator instead
to configure the hooks.
See
https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers
@pytest.mark.tryfirst
.pybuild/cpython3_3.13_respx/build/tests/test_plugin.py::test_respx_mock_fixture
/usr/lib/python3/dist-packages/pytest_tornasync/plugin.py:39: PytestDeprecationWarning: The hookimpl pytest_pyfunc_call uses old-style configuration options (marks or attributes).
Please use the pytest.hookimpl(tryfirst=True) decorator instead
to configure the hooks.
See
https://docs.pytest.org/en/latest/deprecations.html#configuring-hook-specs-impls-using-markers
@pytest.mark.tryfirst
.pybuild/cpython3_3.13_respx/build/tests/test_plugin.py::test_respx_mock_fixture
/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
---------- coverage: platform linux, python 3.13.2-final-0 -----------
Name Stmts Miss Cover Missing --------------------------------------------------------
respx/__init__.py 7 0 100%
respx/__version__.py 1 0 100%
respx/api.py 42 2 95% 26, 31
respx/fixtures.py 8 0 100%
respx/handlers.py 18 0 100%
respx/mocks.py 197 3 98% 55, 214, 226
respx/models.py 284 10 96% 55, 60, 102, 183, 191, 342-343, 351, 473-474
respx/patterns.py 455 0 100%
respx/plugin.py 12 1 92% 11
respx/router.py 220 2 99% 61, 140
respx/transports.py 45 0 100%
respx/types.py 18 0 100%
respx/utils.py 66 0 100%
tests/__init__.py 0 0 100%
tests/conftest.py 25 0 100%
tests/test_api.py 342 159 54% 32-72, 93-94, 113-124, 133-134, 160-161, 177-178, 198-206, 238-246, 258-263, 271-272, 281-282, 293-307, 315-316, 322-332, 337-344, 351-380, 424, 432-436, 464-465, 504, 523, 532-545, 556-564, 573-589, 622
tests/test_mock.py 523 151 71% 32-37, 43-46, 54-64, 73-75, 79, 88-90, 94, 161-164, 169, 177-189, 197-211, 224-237, 250-261, 294, 307-327, 350-366, 383-399, 425-429, 480-489, 498-499, 704-710, 717-718, 726-734
tests/test_patterns.py 170 0 100%
tests/test_plugin.py 4 0 100%
tests/test_remote.py 4 0 100%
tests/test_router.py 348 0 100%
tests/test_stats.py 77 39 49% 44-89
tests/test_transports.py 49 0 100%
tests/test_utils.py 7 0 100% --------------------------------------------------------
TOTAL 2922 367 87%
Coverage XML written to file coverage.xml
FAIL Required test coverage of 95% not reached. Total coverage: 87.44% =========================== short test summary info ============================
SKIPPED [2] tests/test_remote.py:12: Remote pass-through disabled
= 105 failed, 211 passed, 2 skipped, 3 deselected, 6 warnings, 2 errors in 18.53s =
E: pybuild pybuild:389: test: plugin distutils failed with: exit code=1: cd /<<PKGBUILDDIR>>/.pybuild/cpython3_3.13_respx/build; python3.13 -m pytest tests
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:python-respx, so that this is still
visible in the BTS web page for this package.
Thanks.
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)