+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-httpcore-1.0.3-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-httpcore-1.0.3-2.fc35.x86_64/usr/lib/python3.8/site-packages
+ /usr/bin/pytest -ra -m 'not network' -p no:randomly
============================= test session starts ==============================
platform linux -- Python 3.8.18, pytest-8.0.0, pluggy-1.3.0
rootdir: /home/tkloczko/rpmbuild/BUILD/httpcore-1.0.3
configfile: pytest.ini
plugins: httpbin-2.0.0, asyncio-0.23.5, trio-0.8.0, anyio-4.2.0
asyncio: mode=auto
collected 213 items
tests/_async/test_connection.py .................. [ 8%]
tests/_async/test_connection_pool.py ..............................FFF [ 23%]
tests/_async/test_http11.py ........................ [ 35%]
tests/_async/test_http2.py .................... [ 44%]
tests/_async/test_http_proxy.py .......... [ 49%]
tests/_async/test_integration.py ...... [ 52%]
tests/_async/test_socks_proxy.py .......... [ 56%]
tests/_sync/test_connection.py ......... [ 61%]
tests/_sync/test_connection_pool.py .................. [ 69%]
tests/_sync/test_http11.py ............ [ 75%]
tests/_sync/test_http2.py .......... [ 79%]
tests/_sync/test_http_proxy.py ..... [ 82%]
tests/_sync/test_integration.py ... [ 83%]
tests/_sync/test_socks_proxy.py ..... [ 85%]
tests/test_api.py ... [ 87%]
tests/test_cancellations.py ....XXX....XXX [ 93%]
tests/test_models.py ...........FF [100%]
=================================== FAILURES ===================================
_______________________ test_connection_pool_concurrency _______________________
self = <Coroutine test_connection_pool_concurrency>
def runtest(self) -> None:
self.obj = wrap_in_sync(
# https://github.com/pytest-dev/pytest-asyncio/issues/596
self.obj, # type: ignore[has-type]
)
> super().runtest()
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:440:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:905: in inner
task = asyncio.ensure_future(coro, loop=_loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = None
def ensure_future(coro_or_future, *, loop=None):
"""Wrap a coroutine or an awaitable in a future.
If the argument is a Future, it is returned directly.
"""
if coroutines.iscoroutine(coro_or_future):
if loop is None:
loop = events.get_event_loop()
task = loop.create_task(coro_or_future)
if task._source_traceback:
del task._source_traceback[-1]
return task
elif futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future):
raise ValueError('The future belongs to a different loop than '
'the one specified as the loop argument')
return coro_or_future
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
> raise TypeError('An asyncio.Future, a coroutine or an awaitable is '
'required')
E TypeError: An asyncio.Future, a coroutine or an awaitable is required
/usr/lib64/python3.8/asyncio/tasks.py:684: TypeError
_____________ test_connection_pool_concurrency_same_domain_closing _____________
self = <Coroutine test_connection_pool_concurrency_same_domain_closing>
def runtest(self) -> None:
self.obj = wrap_in_sync(
# https://github.com/pytest-dev/pytest-asyncio/issues/596
self.obj, # type: ignore[has-type]
)
> super().runtest()
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:440:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:905: in inner
task = asyncio.ensure_future(coro, loop=_loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = None
def ensure_future(coro_or_future, *, loop=None):
"""Wrap a coroutine or an awaitable in a future.
If the argument is a Future, it is returned directly.
"""
if coroutines.iscoroutine(coro_or_future):
if loop is None:
loop = events.get_event_loop()
task = loop.create_task(coro_or_future)
if task._source_traceback:
del task._source_traceback[-1]
return task
elif futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future):
raise ValueError('The future belongs to a different loop than '
'the one specified as the loop argument')
return coro_or_future
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
> raise TypeError('An asyncio.Future, a coroutine or an awaitable is '
'required')
E TypeError: An asyncio.Future, a coroutine or an awaitable is required
/usr/lib64/python3.8/asyncio/tasks.py:684: TypeError
____________ test_connection_pool_concurrency_same_domain_keepalive ____________
self = <Coroutine test_connection_pool_concurrency_same_domain_keepalive>
def runtest(self) -> None:
self.obj = wrap_in_sync(
# https://github.com/pytest-dev/pytest-asyncio/issues/596
self.obj, # type: ignore[has-type]
)
> super().runtest()
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:440:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:905: in inner
task = asyncio.ensure_future(coro, loop=_loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = None
def ensure_future(coro_or_future, *, loop=None):
"""Wrap a coroutine or an awaitable in a future.
If the argument is a Future, it is returned directly.
"""
if coroutines.iscoroutine(coro_or_future):
if loop is None:
loop = events.get_event_loop()
task = loop.create_task(coro_or_future)
if task._source_traceback:
del task._source_traceback[-1]
return task
elif futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future):
raise ValueError('The future belongs to a different loop than '
'the one specified as the loop argument')
return coro_or_future
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
> raise TypeError('An asyncio.Future, a coroutine or an awaitable is '
'required')
E TypeError: An asyncio.Future, a coroutine or an awaitable is required
/usr/lib64/python3.8/asyncio/tasks.py:684: TypeError
___________________________ test_response_async_read ___________________________
self = <Coroutine test_response_async_read>
def runtest(self) -> None:
self.obj = wrap_in_sync(
# https://github.com/pytest-dev/pytest-asyncio/issues/596
self.obj, # type: ignore[has-type]
)
> super().runtest()
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:440:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:905: in inner
task = asyncio.ensure_future(coro, loop=_loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = None
def ensure_future(coro_or_future, *, loop=None):
"""Wrap a coroutine or an awaitable in a future.
If the argument is a Future, it is returned directly.
"""
if coroutines.iscoroutine(coro_or_future):
if loop is None:
loop = events.get_event_loop()
task = loop.create_task(coro_or_future)
if task._source_traceback:
del task._source_traceback[-1]
return task
elif futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future):
raise ValueError('The future belongs to a different loop than '
'the one specified as the loop argument')
return coro_or_future
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
> raise TypeError('An asyncio.Future, a coroutine or an awaitable is '
'required')
E TypeError: An asyncio.Future, a coroutine or an awaitable is required
/usr/lib64/python3.8/asyncio/tasks.py:684: TypeError
________________________ test_response_async_streaming _________________________
self = <Coroutine test_response_async_streaming>
def runtest(self) -> None:
self.obj = wrap_in_sync(
# https://github.com/pytest-dev/pytest-asyncio/issues/596
self.obj, # type: ignore[has-type]
)
> super().runtest()
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:440:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.8/site-packages/pytest_asyncio/plugin.py:905: in inner
task = asyncio.ensure_future(coro, loop=_loop)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
coro_or_future = None
def ensure_future(coro_or_future, *, loop=None):
"""Wrap a coroutine or an awaitable in a future.
If the argument is a Future, it is returned directly.
"""
if coroutines.iscoroutine(coro_or_future):
if loop is None:
loop = events.get_event_loop()
task = loop.create_task(coro_or_future)
if task._source_traceback:
del task._source_traceback[-1]
return task
elif futures.isfuture(coro_or_future):
if loop is not None and loop is not futures._get_loop(coro_or_future):
raise ValueError('The future belongs to a different loop than '
'the one specified as the loop argument')
return coro_or_future
elif inspect.isawaitable(coro_or_future):
return ensure_future(_wrap_awaitable(coro_or_future), loop=loop)
else:
> raise TypeError('An asyncio.Future, a coroutine or an awaitable is '
'required')
E TypeError: An asyncio.Future, a coroutine or an awaitable is required
/usr/lib64/python3.8/asyncio/tasks.py:684: TypeError
=================================== XPASSES ====================================
=========================== short test summary info ============================
XPASS tests/test_cancellations.py::test_h2_timeout_during_handshake[asyncio]
XPASS tests/test_cancellations.py::test_h2_timeout_during_request[asyncio]
XPASS tests/test_cancellations.py::test_h2_timeout_during_response[asyncio]
XPASS tests/test_cancellations.py::test_h2_timeout_during_handshake[trio]
XPASS tests/test_cancellations.py::test_h2_timeout_during_request[trio]
XPASS tests/test_cancellations.py::test_h2_timeout_during_response[trio]
FAILED tests/_async/test_connection_pool.py::test_connection_pool_concurrency
FAILED tests/_async/test_connection_pool.py::test_connection_pool_concurrency_same_domain_closing
FAILED tests/_async/test_connection_pool.py::test_connection_pool_concurrency_same_domain_keepalive
FAILED tests/test_models.py::test_response_async_read - TypeError: An asyncio...
FAILED tests/test_models.py::test_response_async_streaming - TypeError: An as...
=================== 5 failed, 202 passed, 6 xpassed in 4.58s ===================
I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.
python3 -sBm build -w --no-isolationbuildwith--no-isolationI'm using during all processes only locally installed modulescut off from access to the public network(pytest is executed with-m "not network")Here is pytest output:
List of installed modules in build env:
Please let me know if you need more details or want me to perform some diagnostics.