python-trio / trio

Trio – a friendly Python library for async concurrency and I/O
https://trio.readthedocs.io
Other
6.18k stars 338 forks source link

0.23.1: problems with testing `trio` #2863

Closed kloczek closed 12 months ago

kloczek commented 12 months ago

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.

All fails with remove __pycache__ / .pyc files and/or use a unique basename for your test file modules. Here is pytest output:

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1 configfile: pyproject.toml plugins: trio-0.8.0 collected 0 items / 47 errors ========================================================================================== ERRORS =========================================================================================== ____________________________________________________________________ ERROR collecting trio/_core/_tests/test_asyncgen.py ____________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_asyncgen' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_asyncgen.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_asyncgen.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ___________________________________________________________________ ERROR collecting trio/_core/_tests/test_guest_mode.py ___________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_guest_mode' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_guest_mode.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_guest_mode.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________ ERROR collecting trio/_core/_tests/test_instrumentation.py _________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_instrumentation' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_instrumentation.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_instrumentation.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_core/_tests/test_io.py _______________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_io' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_io.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_io.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_core/_tests/test_ki.py _______________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_ki' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_ki.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_ki.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _____________________________________________________________________ ERROR collecting trio/_core/_tests/test_local.py ______________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_local' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_local.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_local.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ___________________________________________________________________ ERROR collecting trio/_core/_tests/test_mock_clock.py ___________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_mock_clock' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_mock_clock.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_mock_clock.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ___________________________________________________________________ ERROR collecting trio/_core/_tests/test_multierror.py ___________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_multierror' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_multierror.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_multierror.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules __________________________________________________________________ ERROR collecting trio/_core/_tests/test_parking_lot.py ___________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_parking_lot' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_parking_lot.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_parking_lot.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________________ ERROR collecting trio/_core/_tests/test_run.py _______________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_run' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_run.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_run.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules __________________________________________________________________ ERROR collecting trio/_core/_tests/test_thread_cache.py __________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_thread_cache' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_thread_cache.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_thread_cache.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _____________________________________________________________________ ERROR collecting trio/_core/_tests/test_tutil.py ______________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_tutil' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_tutil.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_tutil.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________ ERROR collecting trio/_core/_tests/test_unbounded_queue.py _________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_unbounded_queue' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_unbounded_queue.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_unbounded_queue.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ____________________________________________________________________ ERROR collecting trio/_core/_tests/test_windows.py _____________________________________________________________________ import file mismatch: imported module 'trio._core._tests.test_windows' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_core/_tests/test_windows.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_abc.py __________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_abc' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_abc.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_abc.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_channel.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_channel' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_channel.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_channel.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _____________________________________________________________________ ERROR collecting trio/_tests/test_contextvars.py ______________________________________________________________________ import file mismatch: imported module 'trio._tests.test_contextvars' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_contextvars.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_contextvars.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________________ ERROR collecting trio/_tests/test_deprecate.py _______________________________________________________________________ import file mismatch: imported module 'trio._tests.test_deprecate' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_deprecate.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_deprecate.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_dtls.py _________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_dtls' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_dtls.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_dtls.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_exports.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_exports' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_exports.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_exports.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_fakenet.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_fakenet' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_fakenet.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_fakenet.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_file_io.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_file_io' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_file_io.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_file_io.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules __________________________________________________________________ ERROR collecting trio/_tests/test_highlevel_generic.py ___________________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_generic' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_generic.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_generic.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _____________________________________________________________ ERROR collecting trio/_tests/test_highlevel_open_tcp_listeners.py _____________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_open_tcp_listeners' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_open_tcp_listeners.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_open_tcp_listeners.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________ ERROR collecting trio/_tests/test_highlevel_open_tcp_stream.py _______________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_open_tcp_stream' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_open_tcp_stream.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_open_tcp_stream.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________ ERROR collecting trio/_tests/test_highlevel_open_unix_stream.py ______________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_open_unix_stream' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_open_unix_stream.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_open_unix_stream.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________ ERROR collecting trio/_tests/test_highlevel_serve_listeners.py _______________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_serve_listeners' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_serve_listeners.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_serve_listeners.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ___________________________________________________________________ ERROR collecting trio/_tests/test_highlevel_socket.py ___________________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_socket' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_socket.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_socket.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________ ERROR collecting trio/_tests/test_highlevel_ssl_helpers.py _________________________________________________________________ import file mismatch: imported module 'trio._tests.test_highlevel_ssl_helpers' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_highlevel_ssl_helpers.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_highlevel_ssl_helpers.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_path.py _________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_path' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_path.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_path.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________ ERROR collecting trio/_tests/test_scheduler_determinism.py _________________________________________________________________ import file mismatch: imported module 'trio._tests.test_scheduler_determinism' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_scheduler_determinism.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_scheduler_determinism.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_signals.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_signals' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_signals.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_signals.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________________ ERROR collecting trio/_tests/test_socket.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_socket' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_socket.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_socket.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_ssl.py __________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_ssl' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_ssl.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_ssl.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________________ ERROR collecting trio/_tests/test_subprocess.py ______________________________________________________________________ import file mismatch: imported module 'trio._tests.test_subprocess' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_subprocess.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_subprocess.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_sync.py _________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_sync' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_sync.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_sync.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_testing.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_testing' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_testing.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_testing.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_threads.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_threads' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_threads.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_threads.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_timeouts.py _______________________________________________________________________ import file mismatch: imported module 'trio._tests.test_timeouts' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_timeouts.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_timeouts.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _______________________________________________________________________ ERROR collecting trio/_tests/test_tracing.py ________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_tracing' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_tracing.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_tracing.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ______________________________________________________________________ ERROR collecting trio/_tests/test_unix_pipes.py ______________________________________________________________________ import file mismatch: imported module 'trio._tests.test_unix_pipes' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_unix_pipes.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_unix_pipes.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________________ ERROR collecting trio/_tests/test_util.py _________________________________________________________________________ import file mismatch: imported module 'trio._tests.test_util' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_util.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_util.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ___________________________________________________________________ ERROR collecting trio/_tests/test_wait_for_object.py ____________________________________________________________________ import file mismatch: imported module 'trio._tests.test_wait_for_object' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_wait_for_object.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ____________________________________________________________________ ERROR collecting trio/_tests/test_windows_pipes.py _____________________________________________________________________ import file mismatch: imported module 'trio._tests.test_windows_pipes' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/test_windows_pipes.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules __________________________________________________________________ ERROR collecting trio/_tests/tools/test_gen_exports.py ___________________________________________________________________ import file mismatch: imported module 'trio._tests.tools.test_gen_exports' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/tools/test_gen_exports.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules _________________________________________________________________ ERROR collecting trio/_tests/tools/test_mypy_annotate.py __________________________________________________________________ import file mismatch: imported module 'trio._tests.tools.test_mypy_annotate' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_mypy_annotate.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/_tests/tools/test_mypy_annotate.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ________________________________________________________________________ ERROR collecting trio/testing/_trio_test.py ________________________________________________________________________ import file mismatch: imported module 'trio.testing._trio_test' has this __file__ attribute: /home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/testing/_trio_test.py which is not the same as the test file we want to collect: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1/trio/testing/_trio_test.py HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules ================================================================================== short test summary info ================================================================================== ERROR trio/_core/_tests/test_asyncgen.py ERROR trio/_core/_tests/test_guest_mode.py ERROR trio/_core/_tests/test_instrumentation.py ERROR trio/_core/_tests/test_io.py ERROR trio/_core/_tests/test_ki.py ERROR trio/_core/_tests/test_local.py ERROR trio/_core/_tests/test_mock_clock.py ERROR trio/_core/_tests/test_multierror.py ERROR trio/_core/_tests/test_parking_lot.py ERROR trio/_core/_tests/test_run.py ERROR trio/_core/_tests/test_thread_cache.py ERROR trio/_core/_tests/test_tutil.py ERROR trio/_core/_tests/test_unbounded_queue.py ERROR trio/_core/_tests/test_windows.py ERROR trio/_tests/test_abc.py ERROR trio/_tests/test_channel.py ERROR trio/_tests/test_contextvars.py ERROR trio/_tests/test_deprecate.py ERROR trio/_tests/test_dtls.py ERROR trio/_tests/test_exports.py ERROR trio/_tests/test_fakenet.py ERROR trio/_tests/test_file_io.py ERROR trio/_tests/test_highlevel_generic.py ERROR trio/_tests/test_highlevel_open_tcp_listeners.py ERROR trio/_tests/test_highlevel_open_tcp_stream.py ERROR trio/_tests/test_highlevel_open_unix_stream.py ERROR trio/_tests/test_highlevel_serve_listeners.py ERROR trio/_tests/test_highlevel_socket.py ERROR trio/_tests/test_highlevel_ssl_helpers.py ERROR trio/_tests/test_path.py ERROR trio/_tests/test_scheduler_determinism.py ERROR trio/_tests/test_signals.py ERROR trio/_tests/test_socket.py ERROR trio/_tests/test_ssl.py ERROR trio/_tests/test_subprocess.py ERROR trio/_tests/test_sync.py ERROR trio/_tests/test_testing.py ERROR trio/_tests/test_threads.py ERROR trio/_tests/test_timeouts.py ERROR trio/_tests/test_tracing.py ERROR trio/_tests/test_unix_pipes.py ERROR trio/_tests/test_util.py ERROR trio/_tests/test_wait_for_object.py ERROR trio/_tests/test_windows_pipes.py ERROR trio/_tests/tools/test_gen_exports.py ERROR trio/_tests/tools/test_mypy_annotate.py ERROR trio/testing/_trio_test.py !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Interrupted: 47 errors during collection !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ==================================================================================== 47 errors in 1.66s ===================================================================================== ```

Here is list of installed modules in build env

```console Package Version ----------------------------- ------- alabaster 0.7.13 astor 0.8.1 astroid 3.0.1 async-generator 1.10 attrs 23.1.0 Babel 2.13.1 black 23.10.1 build 1.0.3 cffi 1.16.0 charset-normalizer 3.3.2 click 8.1.7 cppclean 0.13 cryptography 41.0.5 dill 0.3.7 distro 1.8.0 docutils 0.20.1 exceptiongroup 1.1.3 gpg 1.23.0 idna 3.4 imagesize 1.4.1 importlib-metadata 6.8.0 iniconfig 2.0.0 installer 0.7.0 isort 5.12.0 jedi 0.19.1 Jinja2 3.1.2 MarkupSafe 2.1.3 mccabe 0.7.0 mypy 1.6.0 mypy-extensions 1.0.0 nodeenv 1.8.0 outcome 1.2.0 packaging 23.2 parso 0.8.3 pathspec 0.11.2 platformdirs 3.11.0 pluggy 1.3.0 ply 3.11 pycparser 2.21 Pygments 2.16.1 pylint 3.0.2 pyOpenSSL 23.2.0 pyproject_hooks 1.0.0 pyright 1.1.334 pytest 7.4.3 pytest-trio 0.8.0 python-dateutil 2.8.2 pytz 2023.3 requests 2.31.0 setuptools 68.2.2 six 1.16.0 sniffio 1.3.0 snowballstemmer 2.2.0 sortedcontainers 2.4.0 Sphinx 7.1.2 sphinx-rtd-theme 1.2.2 sphinxcontrib-applehelp 1.0.4 sphinxcontrib-devhelp 1.0.5 sphinxcontrib-htmlhelp 2.0.4 sphinxcontrib-jquery 4.1 sphinxcontrib-jsmath 1.0.1 sphinxcontrib-qthelp 1.0.3 sphinxcontrib-serializinghtml 1.1.9 sphinxcontrib-trio 1.1.2 tomli 2.0.1 tomlkit 0.12.2 trio 0.22.0 trustme 1.1.0 typing_extensions 4.8.0 urllib3 1.26.18 wheel 0.41.3 zipp 3.17.0 ```
kloczek commented 12 months ago

After add --pyargs trio to pytest params pytest passed collecting units however many units are failing with the same error message pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped.

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' --pyargs trio ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1 configfile: pyproject.toml plugins: trio-0.8.0 collected 762 items _core/_tests/test_asyncgen.py .F...F. [ 0%] _core/_tests/test_guest_mode.py .............. [ 2%] _core/_tests/test_instrumentation.py ........ [ 3%] _core/_tests/test_io.py FFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 7%] _core/_tests/test_ki.py .FFFFF..... [ 8%] _core/_tests/test_local.py .... [ 9%] _core/_tests/test_mock_clock.py .FF.FF [ 10%] _core/_tests/test_multierror.py ...F.......s...... [ 12%] _core/_tests/test_parking_lot.py FFFF [ 13%] _core/_tests/test_run.py ...FFFF...FFFFFFF.FF.FFFFFFFFFFFFF..F....FFFFF.F.F...F..F.FFFFFF..FFFFFFFFFF.F.FF......FFFF.FFFFFF..FFFF........................ [ 29%] _core/_tests/test_thread_cache.py ...... [ 30%] _core/_tests/test_tutil.py . [ 30%] _core/_tests/test_unbounded_queue.py FFFFF [ 31%] _core/_tests/test_windows.py sssssss [ 32%] _tests/test_abc.py .F. [ 32%] _tests/test_channel.py FFFFFFFFFFFFF [ 34%] _tests/test_contextvars.py FFF [ 34%] _tests/test_deprecate.py .............. [ 36%] _tests/test_dtls.py FFFFFFFFFFFFFFFFFFFFFFFF.FFFFF [ 40%] _tests/test_exports.py ...............FFFFFFF..............FFFFFFF.. [ 46%] _tests/test_fakenet.py FFF [ 46%] _tests/test_file_io.py ..........FFFFFFF [ 49%] _tests/test_highlevel_generic.py FF [ 49%] _tests/test_highlevel_open_tcp_listeners.py FFFFFFFFFFFFFFFFFFFF [ 52%] _tests/test_highlevel_open_tcp_stream.py ...FFFFFFFFFFFFFFFFFFF [ 54%] _tests/test_highlevel_open_unix_stream.py .FFFF [ 55%] _tests/test_highlevel_serve_listeners.py FFFF [ 56%] _tests/test_highlevel_socket.py FFFFFFF [ 57%] _tests/test_highlevel_ssl_helpers.py FFF [ 57%] _tests/test_path.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 62%] _tests/test_scheduler_determinism.py .. [ 62%] _tests/test_signals.py FFFFFFFF [ 63%] _tests/test_socket.py F.FFFFFsFFFFFFFFFFFFFFFFFFFFFFFFFF [ 68%] _tests/test_ssl.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 76%] _tests/test_subprocess.py FFFFFFssFFFFFFFFFFFFFF.FFFFFF [ 80%] _tests/test_sync.py FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF [ 84%] _tests/test_testing.py FFFssFFFFFFFFFFFFF [ 87%] _tests/test_threads.py FF..FFFFF.FFFFFFFFFFFFFFFFFFFFFFFFF.F.FFFFFFFFFF [ 93%] _tests/test_timeouts.py FFFF [ 93%] _tests/test_tracing.py FF [ 94%] _tests/test_unix_pipes.py FFFFFFFFFFF [ 95%] _tests/test_util.py .F.F..... [ 96%] _tests/test_wait_for_object.py ssss [ 97%] _tests/test_windows_pipes.py ssssss [ 98%] _tests/tools/test_gen_exports.py ..FFF.FF [ 99%] _tests/tools/test_mypy_annotate.py ....... [100%] ========================================================================================= FAILURES ========================================================================================== _________________________________________________________________________ test_asyncgen_throws_during_finalization __________________________________________________________________________ cls = , func = . at 0x7fdff536d4c0>, when = 'call' reraise = (, ) @classmethod def from_call( cls, func: "Callable[[], TResult]", when: "Literal['collect', 'setup', 'call', 'teardown']", reraise: Optional[ Union[Type[BaseException], Tuple[Type[BaseException], ...]] ] = None, ) -> "CallInfo[TResult]": """Call func, wrapping the result in a CallInfo. :param func: The function to call. Called without arguments. :param when: The phase in which the function is called. :param reraise: Exception or exceptions that shall propagate if raised by the function, instead of being wrapped in the CallInfo. """ excinfo = None start = timing.time() precise_start = timing.perf_counter() try: > result: Optional[TResult] = func() /usr/lib/python3.8/site-packages/_pytest/runner.py:341: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ /usr/lib/python3.8/site-packages/_pytest/runner.py:262: in lambda: ihook(item=item, **kwds), when=when, reraise=reraise /usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__ return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.8/site-packages/_pytest/runner.py:177: in pytest_runtest_call raise e /usr/lib/python3.8/site-packages/_pytest/runner.py:169: in pytest_runtest_call item.runtest() /usr/lib/python3.8/site-packages/_pytest/python.py:1797: in runtest self.ihook.pytest_pyfunc_call(pyfuncitem=self) /usr/lib/python3.8/site-packages/pluggy/_hooks.py:493: in __call__ return self._hookexec(self.name, self._hookimpls, kwargs, firstresult) /usr/lib/python3.8/site-packages/pluggy/_manager.py:115: in _hookexec return self._inner_hookexec(hook_name, methods, kwargs, firstresult) /usr/lib/python3.8/site-packages/_pytest/python.py:196: in pytest_pyfunc_call async_warn_and_skip(pyfuncitem.nodeid) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ nodeid = '_core/_tests/test_asyncgen.py::test_asyncgen_throws_during_finalization' def async_warn_and_skip(nodeid: str) -> None: msg = "async def functions are not natively supported and have been skipped.\n" msg += ( "You need to install a suitable plugin for your async framework, for example:\n" ) msg += " - anyio\n" msg += " - pytest-asyncio\n" msg += " - pytest-tornasync\n" msg += " - pytest-trio\n" msg += " - pytest-twisted" > warnings.warn(PytestUnhandledCoroutineWarning(msg.format(nodeid))) E pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. E You need to install a suitable plugin for your async framework, for example: E - anyio E - pytest-asyncio E - pytest-tornasync E - pytest-trio E - pytest-twisted /usr/lib/python3.8/site-packages/_pytest/python.py:188: PytestUnhandledCoroutineWarning [..and so one.] ================================================================================== short test summary info ================================================================================== SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_multierror.py:468: need Ubuntu with python3-apport installed SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:37: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:77: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:107: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:168: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:202: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:231: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:254: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_socket.py:290: windows only SKIPPED [4] ../../../../../usr/lib/python3.8/site-packages/_pytest/python.py:189: async def function and no async plugin installed (see warnings) SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:19: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:72: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:128: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:162: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:31: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:38: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:54: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:83: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:94: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:109: windows only FAILED _core/_tests/test_asyncgen.py::test_asyncgen_throws_during_finalization - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_asyncgen.py::test_fallback_when_no_hook_claims_it - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_wait_basic[wait_writable-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_wait_basic[wait_writable-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_wait_basic[-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_wait_basic[-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_double_read[wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_double_read[] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_double_write[wait_writable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_double_write[] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[notify_closing-wait_writable-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[notify_closing-wait_writable-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[notify_closing--wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[notify_closing--] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[-wait_writable-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[-wait_writable-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[--wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_interrupted_by_close[--] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_simultaneous_read_write[wait_writable-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_simultaneous_read_write[wait_writable-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_simultaneous_read_write[-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_simultaneous_read_write[-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_actual_streaming[wait_writable-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_actual_streaming[wait_writable-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_actual_streaming[-wait_readable] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_socket_actual_streaming[-] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_notify_closing_on_invalid_object - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_wait_on_invalid_object - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_io_manager_statistics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_io.py::test_can_survive_unnotified_close - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_ki.py::test_ki_enabled - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_ki.py::test_ki_enabled_after_yield_briefly - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_ki.py::test_generator_based_context_manager_throw - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_ki.py::test_async_generator_agen_protection - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_ki.py::test_native_agen_protection - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_mock_clock.py::test_mock_clock_autojump - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_mock_clock.py::test_mock_clock_autojump_interference - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_mock_clock.py::test_mock_clock_autojump_0_and_wait_all_tasks_blocked_0 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_mock_clock.py::test_mock_clock_autojump_0_and_wait_all_tasks_blocked_nonzero - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_multierror.py::test_MultiErrorNotHashable - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_parking_lot.py::test_parking_lot_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_parking_lot.py::test_parking_lot_cancel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_parking_lot.py::test_parking_lot_repark - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_parking_lot.py::test_parking_lot_repark_with_count - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_warn_use_async_with - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_main_block_error_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_child_crash_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_basic_interleave - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_child_crash_wakes_parent - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_reschedule - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_time - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_time_with_mock_clock - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_clock - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_task - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_root_task - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_statistics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_repr - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_edge_cases - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_multierror_filtering - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_precancelled_task - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_shielding - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_inheritance - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_shield_abort - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_basic_timeout - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_nesting - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_unshield_while_cancel_propagating - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_unbound - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_misnesting - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_timekeeping - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_failed_abort - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_spawn_system_task - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_yield_briefly_checks_for_timeout - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_exc_info - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_exc_info_after_yield_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_exception_chaining_after_yield_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_exception_chaining_doesnt_make_context_loops - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_TrioToken_run_sync_soon_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_TrioToken_run_sync_soon_idempotent - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_TrioToken_run_sync_soon_FIFO - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_TrioToken_run_sync_soon_massive_queue - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_slow_abort_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_slow_abort_edge_cases - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_task_tree_introspection - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_closure - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_spawn_name - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_current_effective_deadline - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_asyncio_function_inside_nursery_does_not_explode - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_trivial_yields - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_start - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_task_nursery_stack - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_start_with_cancelled_nursery - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_start_keeps_nursery_open - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_explicit_exception - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_stop_iteration - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_stop_async_iteration - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_traceback_frame_removal - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_contextvar_multitask - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_Nursery_init - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_Nursery_private_init - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_Task_custom_sleep_data - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_permanently_detach_coroutine_object - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_detach_and_reattach_coroutine_object - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_detached_coroutine_cancellation - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_very_deep_cancel_scope_nesting - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_deadline_duplicates - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_simple_cancel_scope_usage_doesnt_create_cyclic_garbage - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_exit_doesnt_create_cyclic_garbage - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_cancel_doesnt_create_cyclic_garbage - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_locals_destroyed_promptly_on_cancel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_strict_exception_groups - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_collapse_strict - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_nursery_collapse_loose - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_run.py::test_cancel_scope_no_cancellederror - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_unbounded_queue.py::test_UnboundedQueue_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_unbounded_queue.py::test_UnboundedQueue_blocking - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_unbounded_queue.py::test_UnboundedQueue_fairness - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_unbounded_queue.py::test_UnboundedQueue_trivial_yields - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _core/_tests/test_unbounded_queue.py::test_UnboundedQueue_no_spurious_wakeups - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_abc.py::test_AsyncResource_defaults - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_channel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_553 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_channel_multiple_producers - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_channel_multiple_consumers - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_close_basics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_close_sync - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_receive_channel_clone_and_close - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_close_multiple_send_handles - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_close_multiple_receive_handles - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_inf_capacity - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_statistics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_channel_fairness - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_channel.py::test_unbuffered - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_contextvars.py::test_contextvars_default - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_contextvars.py::test_contextvars_set - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_contextvars.py::test_contextvars_copy - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_smoke[ipv4] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_smoke[ipv6] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_handshake_over_terrible_network - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_implicit_handshake - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_full_duplex - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_channel_closing - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_serve_exits_cleanly_on_close - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_client_multiplex - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_dtls_over_dgram_only - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_double_serve - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_connect_to_non_server - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_incoming_buffer_overflow - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_server_socket_doesnt_crash_on_garbage - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_invalid_cookie_rejected - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_client_cancels_handshake_and_starts_new_one - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_swap_client_server - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_openssl_retransmit_doesnt_break_stuff - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_initial_retransmit_timeout_configuration - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_explicit_tiny_mtu_is_respected - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_handshake_handles_minimum_network_mtu[ipv4] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_handshake_handles_minimum_network_mtu[ipv6] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_system_task_cleaned_up_on_gc - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_gc_before_system_task_starts - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_gc_as_packet_received - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_already_closed_socket_doesnt_crash - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_socket_closed_while_processing_clienthello - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_association_replaced_while_handshake_running - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_association_replaced_before_handshake_starts - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_dtls.py::test_send_to_closed_local_port - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.abc] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.from_thread] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.lowlevel] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.socket] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.to_thread] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_all_symbols[mypy-trio.testing] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.abc] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.from_thread] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.lowlevel] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.socket] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.to_thread] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_exports.py::test_static_tool_sees_class_members[mypy-trio.testing] - assert not 'trio/_core/_windows_cffi.py:10: error: Library stubs not installed for "cffi" [import-untyped]\ntrio/_core/_windows_...r: Skipping analyzing "outcome": module is installed... FAILED _tests/test_fakenet.py::test_basic_udp - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_fakenet.py::test_msg_trunc - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_fakenet.py::test_basic_tcp - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_async_methods_wrap - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_async_methods_match_wrapper - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_open - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_open_context_manager - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_async_iter - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_aclose_cancelled - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_file_io.py::test_detach_rewraps_asynciobase - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_generic.py::test_StapledStream - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_generic.py::test_StapledStream_with_erroring_close - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_specific_port_specific_host - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_ipv6_v6only - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_rebind - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_multiple_host_cleanup_on_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_port_checking - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_serve_tcp - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families0-try_families0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families0-try_families1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families0-try_families2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families1-try_families0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families1-try_families1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families1-try_families2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families2-try_families0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families2-try_families1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_some_address_families_unavailable[fail_families2-try_families2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_socket_fails_not_afnosupport - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_backlog - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_backlog_inf_warning - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_listeners.py::test_open_tcp_listeners_backlog_float_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_open_tcp_stream_real_socket_smoketest - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_open_tcp_stream_input_validation - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_local_address_real - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_one_host_quick_success - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_one_host_slow_success - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_one_host_quick_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_one_host_slow_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_one_host_failed_after_connect - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_basic_fallthrough - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_early_success - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_custom_delay - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_custom_errors_expedite - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_all_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_multi_success - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_does_reorder - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_handles_no_ipv4 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_handles_no_ipv6 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_no_hosts - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_tcp_stream.py::test_cancel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_unix_stream.py::test_open_with_bad_filename_type[4] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_unix_stream.py::test_open_with_bad_filename_type[4.5] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_unix_stream.py::test_open_bad_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_open_unix_stream.py::test_open_unix_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_serve_listeners.py::test_serve_listeners_basic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_serve_listeners.py::test_serve_listeners_accept_unrecognized_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_serve_listeners.py::test_serve_listeners_accept_capacity_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_serve_listeners.py::test_serve_listeners_connection_nursery - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketStream_basics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketStream_send_all - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketStream_generic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketListener - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketListener_socket_closed_underfoot - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_SocketListener_accept_errors - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_socket.py::test_socket_stream_works_when_peer_has_already_closed - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_ssl_helpers.py::test_open_ssl_over_tcp_stream_and_everything_else[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_ssl_helpers.py::test_open_ssl_over_tcp_stream_and_everything_else[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_highlevel_ssl_helpers.py::test_open_ssl_over_tcp_listeners - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_open_is_async_context_manager - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_magic - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_cmp_magic[Path-Path0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_cmp_magic[Path-Path1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_cmp_magic[Path-Path2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_div_magic[Path-Path0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_div_magic[Path-Path1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_div_magic[Path-str] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_div_magic[str-Path] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[foo-Path-Path0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[foo-Path-Path1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[foo/bar/baz-Path-Path0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[foo/bar/baz-Path-Path1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[./foo-Path-Path0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_hash_magic[./foo-Path-Path1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_forwarded_properties - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_async_method_signature - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_compare_async_stat_methods[is_dir] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_compare_async_stat_methods[is_file] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_invalid_name_not_wrapped - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_async_methods_rewrap[absolute] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_async_methods_rewrap[resolve] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_forward_methods_rewrap - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_forward_properties_rewrap - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_forward_methods_without_rewrap - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_repr - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_type_forwards_unsupported - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_type_wraps_unsupported - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_type_forwards_private - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_type_wraps_private - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_path_wraps_path[__init__] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_path_wraps_path[joinpath] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_path_nonpath - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_open_file_can_open_path - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_globmethods - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_iterdir - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_path.py::test_classmethods - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver_restore_handler_after_one_bad_signal - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver_empty_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver_restore_handler_after_duplicate_signal - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_catch_signals_wrong_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver_conflict - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_open_signal_receiver_no_starvation - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_signals.py::test_catch_signals_race_condition_on_exit - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test__try_sync - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_getaddrinfo - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_getnameinfo - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_from_stdlib_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_from_fd - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_socketpair_simple - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_socket_v6 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_sniff_sockopts - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_basics - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_setsockopt - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_dup - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_shutdown - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_simple_server[127.0.0.1-AddressFamily.AF_INET] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_simple_server[::1-AddressFamily.AF_INET6] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_is_readable - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_resolve[AddressFamily.AF_INET-addrs0] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_resolve[AddressFamily.AF_INET6-addrs1] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_unresolved_names - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_non_blocking_paths - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_connect_paths - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_address_in_socket_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_resolve_address_exception_in_connect_closes_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_send_recv_variants - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_idna - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_getprotobyname - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_custom_hostname_resolver - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_custom_socket_factory - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_SocketType_is_abstract - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_unix_domain_socket - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_interrupted_by_close - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_socket.py::test_many_sockets - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_PyOpenSSLEchoStream_gives_resource_busy_errors - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_client_basics[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_server_basics[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_attributes[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_full_duplex_basics[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_renegotiation_simple[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_renegotiation_randomized[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_resource_busy_errors[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_checkpoints[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_all_empty_string[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLStream_generic[tls13-False] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLStream_generic[tls13-True] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_unwrap[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_closing_nice_case[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_all_fails_in_the_middle[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_over_ssl[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_bad_shutdown[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_bad_shutdown_but_its_ok[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_only_closes_stream_once[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_https_compatibility_disagreement[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_https_mode_eof_before_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_error_during_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_receive_error_during_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_alpn_protocol_before_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_alpn_protocol_when_not_set[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_npn_protocol_before_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_npn_protocol_when_not_set[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_get_channel_binding_before_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_get_channel_binding_after_handshake[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_getpeercert[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLListener[tls13] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_client_basics[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_server_basics[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_attributes[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_full_duplex_basics[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_renegotiation_simple[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_renegotiation_randomized[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_resource_busy_errors[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_checkpoints[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_all_empty_string[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLStream_generic[tls12-False] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLStream_generic[tls12-True] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_unwrap[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_closing_nice_case[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_all_fails_in_the_middle[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_over_ssl[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_bad_shutdown[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_bad_shutdown_but_its_ok[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_only_closes_stream_once[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_https_compatibility_disagreement[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_https_mode_eof_before_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_send_error_during_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_receive_error_during_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_alpn_protocol_before_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_alpn_protocol_when_not_set[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_npn_protocol_before_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_selected_npn_protocol_when_not_set[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_get_channel_binding_before_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_get_channel_binding_after_handshake[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_getpeercert[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_SSLListener[tls12] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_wait_writable_calls_underlying_wait_writable - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_ssl.py::test_ssl_handshake_failure_during_aclose - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_basic[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_basic[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_auto_update_returncode[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_auto_update_returncode[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_multi_wait[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_multi_wait[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_pipes[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_pipes[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_interactive[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_interactive[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_run - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_run_check - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_run_with_broken_pipe - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_stderr_stdout[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_stderr_stdout[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_errors - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_signals[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_signals[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_wait_reapable_fails[open_process] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_wait_reapable_fails[run_process in nursery] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_custom_deliver_cancel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_warn_on_failed_cancel_terminate - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_warn_on_cancel_SIGKILL_escalation - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_run_process_background_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_for_leaking_fds - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_subprocess.py::test_subprocess_pidfd_unnotified - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Event - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_CapacityLimiter - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_CapacityLimiter_inf - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_CapacityLimiter_change_total_tokens - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_CapacityLimiter_memleak_548 - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Semaphore - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Semaphore_bounded - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Lock_and_StrictFIFOLock[Lock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Lock_and_StrictFIFOLock[StrictFIFOLock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_Condition - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[CapacityLimiter(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[Semaphore(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[Lock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[StrictFIFOLock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[ChannelLock1(10)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[ChannelLock1(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[ChannelLock2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_exclusion[ChannelLock3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[CapacityLimiter(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[Semaphore(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[Lock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[StrictFIFOLock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[ChannelLock1(10)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[ChannelLock1(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[ChannelLock2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_fifo_fairness[ChannelLock3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[CapacityLimiter(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[Semaphore(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[Lock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[StrictFIFOLock] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[ChannelLock1(10)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[ChannelLock1(1)] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[ChannelLock2] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_sync.py::test_generic_lock_acquire_nowait_blocks_acquire[ChannelLock3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_wait_all_tasks_blocked - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_wait_all_tasks_blocked_with_timeouts - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_wait_all_tasks_blocked_with_cushion - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_Sequencer - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_Sequencer_cancel - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test__assert_raises - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test__UnboundeByteQueue - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_MemorySendStream - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_MemoryReceiveStream - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_MemoryRecvStream_closing - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_memory_stream_pump - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_memory_stream_one_way_pair - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_memory_stream_pair - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_memory_streams_with_generic_tests - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_lockstep_streams_with_generic_tests - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_testing.py::test_open_stream_to_socket_listener - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_do_in_trio_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_do_in_trio_thread_from_trio_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_named_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_named_thread_os - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_has_pthread_setname_np - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_cancellation - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-False-3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-False-5] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-False-10] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-True-3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-True-5] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[False-True-10] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-False-3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-False-5] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-False-10] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-True-3] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-True-5] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter[True-True-10] - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_custom_limiter - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_limiter_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_run_in_worker_thread_fail_to_spawn - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_to_thread_run_sync_token - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_to_thread_run_sync_expected_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_to_thread_run_sync_contextvars - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_run_sync - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_run - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_token - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_token_kwarg - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_no_token - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_run_sync_contextvars - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_from_thread_run_contextvars - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_inside_trio_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_trio_token_weak_referenceable - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_unsafe_abandon_on_cancel_kwarg - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_reuses_task - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_recursive_to_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_host_cancelled - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_check_cancelled - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_from_thread_check_cancelled_raises_in_foreign_threads - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_reentry_doesnt_deadlock - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_cancellable_and_abandon_raises - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_threads.py::test_cancellable_warns - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_timeouts.py::test_sleep - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_timeouts.py::test_move_on_after - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_timeouts.py::test_fail - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_timeouts.py::test_timeouts_raise_value_error - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_tracing.py::test_task_iter_await_frames - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_tracing.py::test_task_iter_await_frames_async_gen - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_send_pipe - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_receive_pipe - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_pipes_combined - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_pipe_errors - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_del - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_async_with - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_misdirected_aclose_regression - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_close_at_bad_time_for_receive_some - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_close_at_bad_time_for_send_all - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_bizarro_OSError_from_receive - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_unix_pipes.py::test_pipe_fully - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_util.py::test_ConflictDetector - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/test_util.py::test_is_main_thread - pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. FAILED _tests/tools/test_gen_exports.py::test_process[from collections import Counter\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_process[from collections import Counter\nimport os\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_process[from typing import TYPE_CHECKING\nif TYPE_CHECKING:\n from collections import Counter\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_run_ruff - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_lint_failure - ModuleNotFoundError: No module named 'ruff' ================================================================== 530 failed, 209 passed, 23 skipped in 263.25s (0:04:23) ================================================================== ```
A5rocks commented 12 months ago

Two quick questions! (I'm not on desktop so I can't test anything, therefore the questions may be dumb):

  1. Does this happen in 0.22.2?
  2. Could you provide a specific script that when run in a Docker container (? or non-Docker if this is generic to any Linux system) fails?

I think the error message is saying something about a different in /BUILDROOT vs /BUILD and I'm struggling to realize where that might come from or what might have changed between versions.

A5rocks commented 12 months ago

Oh, we moved test plugin out which handles async def functions -- check ci.sh for the specific pytest invocation we use (we run the tests of an installed version of trio!)

kloczek commented 12 months ago

I see that few units are failing because missing ruff in build env (please ignore those unit as I'll try to add this module to build env. However all other units are failing pytest.PytestUnhandledCoroutineWarning: async def functions are not natively supported and have been skipped. despite that I have installed pytest-trio.

A5rocks commented 12 months ago

Oh no -- we have our own pytest plugin we use ourselves 😰

(Not sure how it differs from pytest-trio, though)

kloczek commented 12 months ago

Two quick questions! (I'm not on desktop so I can't test anything, therefore the questions may be dumb):

  1. Does this happen in 0.22.2?

Last version which was OK Which I have already packaged is 0.22.0.

  1. Could you provide a specific script that when run in a Docker container (? or non-Docker if this is generic to any Linux system) fails?

Hmm .. I'm not using docker. On building packages I'm using LXC zones because it provides full system with all system components started over systemd inside zone lik it would be bare metal system 🤔

kloczek commented 12 months ago

Oh no -- we have our own pytest plugin we use ourselves 😰

(Not sure how it differs from pytest-trio, though)

So I'm assuming that this message shows incorrect advice (?) 🤔

A5rocks commented 12 months ago

I'm not sure what exactly you mean by that but yeah it's likely pytest is assuming we're the standard user of async def functions (some async library) rather than an event loop, if that's what you're referring to ^^

In CI, we run this pytest command (in coverage):

pytest -r a -p trio._tests.pytest_plugin --junitxml=../test-results.xml --run-slow ${INSTALLDIR} --verbose --durations=10 --skip-optional-imports

(we optionally add --skip-optional-imports but that makes it so the tests shouldn't require e.g. ruff)

Maybe the problem is just that our invocation of pytest is just really annoying to get right :(

kloczek commented 12 months ago

Oh, we moved test plugin out which handles async def functions -- check ci.sh for the specific pytest invocation we use (we run the tests of an installed version of trio!)

I see in that script only:

    echo "::group:: Run Tests"
    if COVERAGE_PROCESS_START=$(pwd)/../.coveragerc coverage run --rcfile=../.coveragerc -m pytest -r a -p trio._tests.pytest_plugin --junitxml=../test-results.xml --run-slow ${INSTALLDIR}
--verbose --durations=10 $flags; then
        PASSED=true
    else
        PASSED=false
    fi

First issue which I see here is running pytest as -m pytest. AFAIK pytest should not be executed that way because when python interpreter executes module over python -n foo it always adds current directory to sys.path. This is why pytest provides shell wrapper script pytest.

A5rocks commented 12 months ago

Yeah we run that command in an empty directory to avoid any silly sys.path schenanigans.

kloczek commented 12 months ago

I think that instead putting tall pytest params in shell scrip all should be in pytest.ini file to allow use pytest without any additional params.

kloczek commented 12 months ago

Yeah we run that command in an empty directory to avoid any silly sys.path schenanigans.

So instead that it should be used pytest. pytest maintainer many times mention in comments that pytest should not be executed by -m pytest 😋

A5rocks commented 12 months ago

We actually do use the configuration for pytest! However, stuff like --slow and other flags change runtime things and running a bunch of tests in CI is different than running a single test locally.

... Though TBH the -p flag should probably go into the pyproject.toml if possible.

As for running -m pytest IIRC that was what worked but I would welcome a PR to fix that! I actually didn't know about the sys.path differences, we do the empty directory thing because it removes that entire class of footguns from the start.

kloczek commented 12 months ago

If all necessary pytest params will be placed in pytest.ini I think that ci.sh could be removed and everything else could be moved directly into gh action/workflow 🤔

A5rocks commented 12 months ago

That was the plan in the past but we have in the past used multiple CI providers in order to test e.g. freebsd. However, those providers stopped working, but the main method to test on e.g. freebsd is this qemu action step that takes in a shell script to run!

kloczek commented 12 months ago

We actually do use the configuration for pytest! However, stuff like --slow and other flags change runtime things and running a bunch of tests in CI is different than running a single test locally.

... Though TBH the -p flag should probably go into the pyproject.toml if possible.

Yeah .. just fount [tool.pytest.ini_options] in pyproject.toml 😋

kloczek commented 12 months ago

OK after add -p trio._tests.pytest_plugin to pytest params I have now only failing units because missing ruff 😄

```console + PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib64/python3.8/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages + /usr/bin/pytest -ra -m 'not network' --pyargs trio -p trio._tests.pytest_plugin ==================================================================================== test session starts ==================================================================================== platform linux -- Python 3.8.18, pytest-7.4.3, pluggy-1.3.0 rootdir: /home/tkloczko/rpmbuild/BUILD/trio-0.23.1 configfile: pyproject.toml collected 762 items _core/_tests/test_asyncgen.py ....... [ 0%] _core/_tests/test_guest_mode.py .............. [ 2%] _core/_tests/test_instrumentation.py ........ [ 3%] _core/_tests/test_io.py ............................ [ 7%] _core/_tests/test_ki.py ........... [ 8%] _core/_tests/test_local.py .... [ 9%] _core/_tests/test_mock_clock.py .....s [ 10%] _core/_tests/test_multierror.py ...........s...... [ 12%] _core/_tests/test_parking_lot.py .... [ 13%] _core/_tests/test_run.py ................................s............................................................................................... [ 29%] _core/_tests/test_thread_cache.py ..ss.. [ 30%] _core/_tests/test_tutil.py . [ 30%] _core/_tests/test_unbounded_queue.py ..... [ 31%] _core/_tests/test_windows.py sssssss [ 32%] _tests/test_abc.py ... [ 32%] _tests/test_channel.py ............. [ 34%] _tests/test_contextvars.py ... [ 34%] _tests/test_deprecate.py .............. [ 36%] _tests/test_dtls.py ..s.............s............. [ 40%] _tests/test_exports.py ...............ssssssssssssssssssssssssssss.. [ 46%] _tests/test_fakenet.py ... [ 46%] _tests/test_file_io.py ................. [ 49%] _tests/test_highlevel_generic.py .. [ 49%] _tests/test_highlevel_open_tcp_listeners.py .................... [ 52%] _tests/test_highlevel_open_tcp_stream.py ...................... [ 54%] _tests/test_highlevel_open_unix_stream.py ..... [ 55%] _tests/test_highlevel_serve_listeners.py .... [ 56%] _tests/test_highlevel_socket.py ....... [ 57%] _tests/test_highlevel_ssl_helpers.py ... [ 57%] _tests/test_path.py ..................................... [ 62%] _tests/test_scheduler_determinism.py .. [ 62%] _tests/test_signals.py ........ [ 63%] _tests/test_socket.py .......s.......................... [ 68%] _tests/test_ssl.py ......s.............................s.......................... [ 76%] _tests/test_subprocess.py ......................s...... [ 80%] _tests/test_sync.py .................................. [ 84%] _tests/test_testing.py .................. [ 87%] _tests/test_threads.py .............................................s.. [ 93%] _tests/test_timeouts.py sss. [ 93%] _tests/test_tracing.py .. [ 94%] _tests/test_unix_pipes.py ........... [ 95%] _tests/test_util.py ......... [ 96%] _tests/test_wait_for_object.py ssss [ 97%] _tests/test_windows_pipes.py ssssss [ 98%] _tests/tools/test_gen_exports.py ..FFF.FF [ 99%] _tests/tools/test_mypy_annotate.py ....... [100%] ========================================================================================= FAILURES ========================================================================================== ______________________________________________________________________ test_process[from collections import Counter\n] ______________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_0'), imports = 'from collections import Counter\n' @skip_lints @pytest.mark.parametrize("imports", [IMPORT_1, IMPORT_2, IMPORT_3]) def test_process(tmp_path: Path, imports: str) -> None: try: import black # noqa: F401 # there's no dedicated CI run that has astor+isort, but lacks black. except ImportError as error: # pragma: no cover skip_if_optional_else_raise(error) modpath = tmp_path / "_module.py" genpath = tmp_path / "_generated_module.py" modpath.write_text(SOURCE, encoding="utf-8") file = File(modpath, "runner", platform="linux", imports=imports) assert not genpath.exists() with pytest.raises(SystemExit) as excinfo: > process([file], do_test=True) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:283: in process new_source = run_linters(file, new_source) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:190: in run_linters success, response = run_ruff(file, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ file = File(path=PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_0/_module.py'), modname='runner', platform='linux', imports='from collections import Counter\n') source = '# ***********************************************************\n# ******* WARNING: AUTOGENERATED! ALL EDITS WILL BE LO..._async_func()\n except AttributeError:\n raise RuntimeError("must be called from async context") from None\n' def run_ruff(file: File, source: str) -> tuple[bool, str]: """Run ruff on the specified file. Returns: Tuple of success and result string. ex.: (False, "Failed to run ruff!\nerror: Failed to parse ...") (True, "") Raises: ImportError: If ruff is not installed. """ # imported to check that `subprocess` calls will succeed > import ruff # noqa: F401 E ModuleNotFoundError: No module named 'ruff' ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:149: ModuleNotFoundError ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Scanning: /tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_0/_module.py ________________________________________________________________ test_process[from collections import Counter\nimport os\n] _________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_1'), imports = 'from collections import Counter\nimport os\n' @skip_lints @pytest.mark.parametrize("imports", [IMPORT_1, IMPORT_2, IMPORT_3]) def test_process(tmp_path: Path, imports: str) -> None: try: import black # noqa: F401 # there's no dedicated CI run that has astor+isort, but lacks black. except ImportError as error: # pragma: no cover skip_if_optional_else_raise(error) modpath = tmp_path / "_module.py" genpath = tmp_path / "_generated_module.py" modpath.write_text(SOURCE, encoding="utf-8") file = File(modpath, "runner", platform="linux", imports=imports) assert not genpath.exists() with pytest.raises(SystemExit) as excinfo: > process([file], do_test=True) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:283: in process new_source = run_linters(file, new_source) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:190: in run_linters success, response = run_ruff(file, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ file = File(path=PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_1/_module.py'), modname='runner', platform='linux', imports='from collections import Counter\nimport os\n') source = '# ***********************************************************\n# ******* WARNING: AUTOGENERATED! ALL EDITS WILL BE LO..._async_func()\n except AttributeError:\n raise RuntimeError("must be called from async context") from None\n' def run_ruff(file: File, source: str) -> tuple[bool, str]: """Run ruff on the specified file. Returns: Tuple of success and result string. ex.: (False, "Failed to run ruff!\nerror: Failed to parse ...") (True, "") Raises: ImportError: If ruff is not installed. """ # imported to check that `subprocess` calls will succeed > import ruff # noqa: F401 E ModuleNotFoundError: No module named 'ruff' ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:149: ModuleNotFoundError ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Scanning: /tmp/pytest-of-tkloczko/pytest-32/test_process_from_collections_1/_module.py _________________________________________ test_process[from typing import TYPE_CHECKING\nif TYPE_CHECKING:\n from collections import Counter\n] __________________________________________ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_typing_impor0') imports = 'from typing import TYPE_CHECKING\nif TYPE_CHECKING:\n from collections import Counter\n' @skip_lints @pytest.mark.parametrize("imports", [IMPORT_1, IMPORT_2, IMPORT_3]) def test_process(tmp_path: Path, imports: str) -> None: try: import black # noqa: F401 # there's no dedicated CI run that has astor+isort, but lacks black. except ImportError as error: # pragma: no cover skip_if_optional_else_raise(error) modpath = tmp_path / "_module.py" genpath = tmp_path / "_generated_module.py" modpath.write_text(SOURCE, encoding="utf-8") file = File(modpath, "runner", platform="linux", imports=imports) assert not genpath.exists() with pytest.raises(SystemExit) as excinfo: > process([file], do_test=True) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:108: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:283: in process new_source = run_linters(file, new_source) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:190: in run_linters success, response = run_ruff(file, response) _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ file = File(path=PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_process_from_typing_impor0/_module.py'), modname='runner', platform='linux', imports='from typing import TYPE_CHECKING\nif TYPE_CHECKING:\n from collections import Counter\n') source = '# ***********************************************************\n# ******* WARNING: AUTOGENERATED! ALL EDITS WILL BE LO..._async_func()\n except AttributeError:\n raise RuntimeError("must be called from async context") from None\n' def run_ruff(file: File, source: str) -> tuple[bool, str]: """Run ruff on the specified file. Returns: Tuple of success and result string. ex.: (False, "Failed to run ruff!\nerror: Failed to parse ...") (True, "") Raises: ImportError: If ruff is not installed. """ # imported to check that `subprocess` calls will succeed > import ruff # noqa: F401 E ModuleNotFoundError: No module named 'ruff' ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tools/gen_exports.py:149: ModuleNotFoundError ----------------------------------------------------------------------------------- Captured stdout call ------------------------------------------------------------------------------------ Scanning: /tmp/pytest-of-tkloczko/pytest-32/test_process_from_typing_impor0/_module.py _______________________________________________________________________________________ test_run_ruff _______________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_run_ruff0') @skip_lints def test_run_ruff(tmp_path: Path) -> None: """Test that processing properly fails if ruff does.""" try: import ruff # noqa: F401 except ImportError as error: # pragma: no cover > skip_if_optional_else_raise(error) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:149: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/pytest_plugin.py:54: in skip_if_optional_else_raise raise error _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_run_ruff0') @skip_lints def test_run_ruff(tmp_path: Path) -> None: """Test that processing properly fails if ruff does.""" try: > import ruff # noqa: F401 E ModuleNotFoundError: No module named 'ruff' ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:147: ModuleNotFoundError _____________________________________________________________________________________ test_lint_failure _____________________________________________________________________________________ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_lint_failure0') @skip_lints def test_lint_failure(tmp_path: Path) -> None: """Test that processing properly fails if black or ruff does.""" try: import black # noqa: F401 import ruff # noqa: F401 except ImportError as error: # pragma: no cover > skip_if_optional_else_raise(error) ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:176: _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/pytest_plugin.py:54: in skip_if_optional_else_raise raise error _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ tmp_path = PosixPath('/tmp/pytest-of-tkloczko/pytest-32/test_lint_failure0') @skip_lints def test_lint_failure(tmp_path: Path) -> None: """Test that processing properly fails if black or ruff does.""" try: import black # noqa: F401 > import ruff # noqa: F401 E ModuleNotFoundError: No module named 'ruff' ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/tools/test_gen_exports.py:174: ModuleNotFoundError ================================================================================== short test summary info ================================================================================== SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_mock_clock.py:152: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_multierror.py:468: need Ubuntu with python3-apport installed SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_run.py:812: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_thread_cache.py:57: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_thread_cache.py:92: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:37: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:77: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:107: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:168: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:202: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:231: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_core/_tests/test_windows.py:254: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_dtls.py:110: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_dtls.py:575: use --run-slow to run slow tests SKIPPED [7] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_exports.py:176: use --run-slow to check against mypy SKIPPED [7] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_exports.py:203: use --run-slow to check against mypy SKIPPED [14] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_exports.py:266: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_socket.py:290: windows only SKIPPED [2] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_ssl.py:608: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_subprocess.py:511: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_threads.py:1067: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_timeouts.py:49: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_timeouts.py:69: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_timeouts.py:78: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:19: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:72: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:128: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_wait_for_object.py:162: use --run-slow to run slow tests SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:31: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:38: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:54: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:83: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:94: windows only SKIPPED [1] ../../BUILDROOT/python-trio-0.23.1-2.fc35.x86_64/usr/lib/python3.8/site-packages/trio/_tests/test_windows_pipes.py:109: windows only FAILED _tests/tools/test_gen_exports.py::test_process[from collections import Counter\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_process[from collections import Counter\nimport os\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_process[from typing import TYPE_CHECKING\nif TYPE_CHECKING:\n from collections import Counter\n] - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_run_ruff - ModuleNotFoundError: No module named 'ruff' FAILED _tests/tools/test_gen_exports.py::test_lint_failure - ModuleNotFoundError: No module named 'ruff' ======================================================================== 5 failed, 697 passed, 60 skipped in 13.91s ========================================================================= ```

--pyargs trio still is necessary so looks like in [tool.pytest.ini_options] in addopts in pyproject.toml it would be good to add --pyargs trio -p trio._tests.pytest_plugin.

Nevertheless .. thank you for the hints 👍 😄

BTW I see that trio is using relative imports which using is in many cases only asking for troubles (and adds additional syscall to obtain current directory name) Just tested pyest with my patch which replaces all relative imports. If you want I can submit that as PR.

A5rocks commented 12 months ago

Hopefully ruff isn't required if you pass --skip-optional-imports -- if not, let's fix that!

Also, I'm not sure a patch that changes all imports to be relative (assuming I'm not mistaken about what you mean) would be accepted as that feels too far on the micro-optimization end of things. However, updating pyproject.toml would be a nice PR to do! (If you don't in a few days and I remember, then I'll make one).

I'm going to close this issue cause it sounds like you figured out the issues, but feel free to reopen if I misunderstood.

jakkdl commented 12 months ago

Also, I'm not sure a patch that changes all imports to be relative (assuming I'm not mistaken about what you mean) would be accepted as that feels too far on the micro-optimization end of things.

I think they're suggesting the reverse - only using absolute paths and not relative. If the reason for either way is sufficiently solid and we could enable a check for it - ideally an autofix, I wouldn't mind getting rid of the current mess where some things are imported relative and some aren't and there's often no reason why one is used over the other. A stronger case is probably to check that the expected symbols are publicly exported.

kloczek commented 12 months ago

I think they're suggesting the reverse - only using absolute paths and not relative.

In case of modules with DSO it causes especially nasty issues on build because it forces to build module in place which is not supported by pep517 build procedure. Please have a look on random core pypi modules like pytest, sphinx, setyptools or any pep517 backend. None of those modules are using relative imports.

Other thing is that in your code is possible to find multiple import of parts of the same module which makes code longer. As I wrote bu use relative import you are forcing python to obtain current directory and calculate module import path. With use only full paths all what is done is checking where module is in sitearch or sitelib. As this module has no DSOs it is installed in sitelib so proper path is done on first hit by load module from sitelib + module_name_py.

It is yet another issue that test suite is not separated from module code and it is installed with actual module code. Normal practice is placing test suite in tests/ subdirectory in source tree. This directory by default is excluded from install list..

njsmith commented 12 months ago

I'm pretty sure that literally nothing you just said is accurate :-(. If anything, relative imports create less work for the import system, because the full path is known immediately, without having to scan sys.metapath and sys.path.

kloczek commented 12 months ago

Example

```console [tkloczko@pers-jacek SPECS]$ git clone https://github.com/pytest-dev/pytest/; grep "^import " -r pytest Cloning into 'pytest'... remote: Enumerating objects: 99644, done. remote: Counting objects: 100% (426/426), done. remote: Compressing objects: 100% (236/236), done. remote: Total 99644 (delta 224), reused 337 (delta 166), pack-reused 99218 Receiving objects: 100% (99644/99644), 32.25 MiB | 8.76 MiB/s, done. Resolving deltas: 100% (70088/70088), done. grep: pytest/.git/objects/pack/pack-9247bc2bf1070d534e9580e17361b56e1321b476.pack: binary file matches pytest/bench/bench.py:import sys pytest/bench/bench_argcomplete.py:import timeit pytest/bench/manyparam.py:import pytest pytest/bench/skip.py:import pytest pytest/doc/en/conf.py:import os pytest/doc/en/conf.py:import shutil pytest/doc/en/conf.py:import sys pytest/doc/en/example/assertion/failure_demo.py:import pytest pytest/doc/en/example/assertion/global_testmodule_config/conftest.py:import os.path pytest/doc/en/example/assertion/global_testmodule_config/conftest.py:import pytest pytest/doc/en/example/assertion/test_failures.py:import os.path pytest/doc/en/example/assertion/test_failures.py:import shutil pytest/doc/en/example/fixtures/test_fixtures_order_autouse.py:import pytest pytest/doc/en/example/fixtures/test_fixtures_order_autouse_multiple_scopes.py:import pytest pytest/doc/en/example/fixtures/test_fixtures_order_autouse_temp_effects.py:import pytest pytest/doc/en/example/fixtures/test_fixtures_order_dependencies.py:import pytest pytest/doc/en/example/fixtures/test_fixtures_order_scope.py:import pytest pytest/doc/en/example/fixtures/test_fixtures_request_different_scope.py:import pytest pytest/doc/en/example/multipython.py:import shutil pytest/doc/en/example/multipython.py:import subprocess pytest/doc/en/example/multipython.py:import textwrap pytest/doc/en/example/multipython.py:import pytest pytest/doc/en/example/nonpython/conftest.py:import pytest pytest/doc/en/example/xfail_demo.py:import pytest pytest/doc/en/explanation/pythonpath.rst:import process can be controlled through the ``--import-mode`` command-line flag, which can assume pytest/doc/en/how-to/writing_plugins.rst:import ``helper.py`` normally. The contents of pytest/extra/get_issues.py:import json pytest/extra/get_issues.py:import requests pytest/scripts/prepare-release-pr.py:import argparse pytest/scripts/prepare-release-pr.py:import re pytest/scripts/publish-gh-release-notes.py:import os pytest/scripts/publish-gh-release-notes.py:import re pytest/scripts/publish-gh-release-notes.py:import sys pytest/scripts/publish-gh-release-notes.py:import github3 pytest/scripts/publish-gh-release-notes.py:import pypandoc pytest/scripts/release.py:import argparse pytest/scripts/release.py:import os pytest/scripts/towncrier-draft-to-file.py:import sys pytest/scripts/update-plugin-list.py:import datetime pytest/scripts/update-plugin-list.py:import pathlib pytest/scripts/update-plugin-list.py:import re pytest/scripts/update-plugin-list.py:import packaging.version pytest/scripts/update-plugin-list.py:import platformdirs pytest/scripts/update-plugin-list.py:import tabulate pytest/scripts/update-plugin-list.py:import wcwidth pytest/src/_pytest/_argcomplete.py:import argparse pytest/src/_pytest/_argcomplete.py:import os pytest/src/_pytest/_argcomplete.py:import sys pytest/src/_pytest/_code/code.py:import ast pytest/src/_pytest/_code/code.py:import dataclasses pytest/src/_pytest/_code/code.py:import inspect pytest/src/_pytest/_code/code.py:import os pytest/src/_pytest/_code/code.py:import re pytest/src/_pytest/_code/code.py:import sys pytest/src/_pytest/_code/code.py:import traceback pytest/src/_pytest/_code/code.py:import pluggy pytest/src/_pytest/_code/code.py:import _pytest pytest/src/_pytest/_code/source.py:import ast pytest/src/_pytest/_code/source.py:import inspect pytest/src/_pytest/_code/source.py:import textwrap pytest/src/_pytest/_code/source.py:import tokenize pytest/src/_pytest/_code/source.py:import types pytest/src/_pytest/_code/source.py:import warnings pytest/src/_pytest/_io/saferepr.py:import pprint pytest/src/_pytest/_io/saferepr.py:import reprlib pytest/src/_pytest/_io/terminalwriter.py:import os pytest/src/_pytest/_io/terminalwriter.py:import shutil pytest/src/_pytest/_io/terminalwriter.py:import sys pytest/src/_pytest/_io/wcwidth.py:import unicodedata pytest/src/_pytest/_py/error.py:import errno pytest/src/_pytest/_py/error.py:import os pytest/src/_pytest/_py/error.py:import sys pytest/src/_pytest/_py/path.py:import atexit pytest/src/_pytest/_py/path.py:import fnmatch pytest/src/_pytest/_py/path.py:import importlib.util pytest/src/_pytest/_py/path.py:import io pytest/src/_pytest/_py/path.py:import os pytest/src/_pytest/_py/path.py:import posixpath pytest/src/_pytest/_py/path.py:import sys pytest/src/_pytest/_py/path.py:import uuid pytest/src/_pytest/_py/path.py:import warnings pytest/src/_pytest/assertion/__init__.py:import sys pytest/src/_pytest/assertion/rewrite.py:import ast pytest/src/_pytest/assertion/rewrite.py:import errno pytest/src/_pytest/assertion/rewrite.py:import functools pytest/src/_pytest/assertion/rewrite.py:import importlib.abc pytest/src/_pytest/assertion/rewrite.py:import importlib.machinery pytest/src/_pytest/assertion/rewrite.py:import importlib.util pytest/src/_pytest/assertion/rewrite.py:import io pytest/src/_pytest/assertion/rewrite.py:import itertools pytest/src/_pytest/assertion/rewrite.py:import marshal pytest/src/_pytest/assertion/rewrite.py:import os pytest/src/_pytest/assertion/rewrite.py:import struct pytest/src/_pytest/assertion/rewrite.py:import sys pytest/src/_pytest/assertion/rewrite.py:import tokenize pytest/src/_pytest/assertion/rewrite.py:import types pytest/src/_pytest/assertion/util.py:import collections.abc pytest/src/_pytest/assertion/util.py:import os pytest/src/_pytest/assertion/util.py:import pprint pytest/src/_pytest/assertion/util.py:import _pytest._code pytest/src/_pytest/cacheprovider.py:import dataclasses pytest/src/_pytest/cacheprovider.py:import json pytest/src/_pytest/cacheprovider.py:import os pytest/src/_pytest/capture.py:import abc pytest/src/_pytest/capture.py:import collections pytest/src/_pytest/capture.py:import contextlib pytest/src/_pytest/capture.py:import io pytest/src/_pytest/capture.py:import os pytest/src/_pytest/capture.py:import sys pytest/src/_pytest/compat.py:import dataclasses pytest/src/_pytest/compat.py:import enum pytest/src/_pytest/compat.py:import functools pytest/src/_pytest/compat.py:import inspect pytest/src/_pytest/compat.py:import os pytest/src/_pytest/compat.py:import sys pytest/src/_pytest/compat.py:import py pytest/src/_pytest/config/__init__.py:import argparse pytest/src/_pytest/config/__init__.py:import collections.abc pytest/src/_pytest/config/__init__.py:import copy pytest/src/_pytest/config/__init__.py:import dataclasses pytest/src/_pytest/config/__init__.py:import enum pytest/src/_pytest/config/__init__.py:import glob pytest/src/_pytest/config/__init__.py:import importlib.metadata pytest/src/_pytest/config/__init__.py:import inspect pytest/src/_pytest/config/__init__.py:import os pytest/src/_pytest/config/__init__.py:import re pytest/src/_pytest/config/__init__.py:import shlex pytest/src/_pytest/config/__init__.py:import sys pytest/src/_pytest/config/__init__.py:import types pytest/src/_pytest/config/__init__.py:import warnings pytest/src/_pytest/config/__init__.py:import pluggy pytest/src/_pytest/config/__init__.py:import _pytest._code pytest/src/_pytest/config/__init__.py:import _pytest.deprecated pytest/src/_pytest/config/__init__.py:import _pytest.hookspec pytest/src/_pytest/config/argparsing.py:import argparse pytest/src/_pytest/config/argparsing.py:import os pytest/src/_pytest/config/argparsing.py:import sys pytest/src/_pytest/config/argparsing.py:import warnings pytest/src/_pytest/config/argparsing.py:import _pytest._io pytest/src/_pytest/config/compat.py:import functools pytest/src/_pytest/config/compat.py:import warnings pytest/src/_pytest/config/compat.py:import pluggy pytest/src/_pytest/config/findpaths.py:import os pytest/src/_pytest/config/findpaths.py:import sys pytest/src/_pytest/config/findpaths.py:import iniconfig pytest/src/_pytest/debugging.py:import argparse pytest/src/_pytest/debugging.py:import functools pytest/src/_pytest/debugging.py:import sys pytest/src/_pytest/debugging.py:import types pytest/src/_pytest/debugging.py:import unittest pytest/src/_pytest/doctest.py:import bdb pytest/src/_pytest/doctest.py:import functools pytest/src/_pytest/doctest.py:import inspect pytest/src/_pytest/doctest.py:import os pytest/src/_pytest/doctest.py:import platform pytest/src/_pytest/doctest.py:import sys pytest/src/_pytest/doctest.py:import traceback pytest/src/_pytest/doctest.py:import types pytest/src/_pytest/doctest.py:import warnings pytest/src/_pytest/faulthandler.py:import os pytest/src/_pytest/faulthandler.py:import sys pytest/src/_pytest/faulthandler.py:import pytest pytest/src/_pytest/fixtures.py:import abc pytest/src/_pytest/fixtures.py:import dataclasses pytest/src/_pytest/fixtures.py:import functools pytest/src/_pytest/fixtures.py:import inspect pytest/src/_pytest/fixtures.py:import os pytest/src/_pytest/fixtures.py:import warnings pytest/src/_pytest/fixtures.py:import _pytest pytest/src/_pytest/freeze_support.py:import types pytest/src/_pytest/helpconfig.py:import os pytest/src/_pytest/helpconfig.py:import sys pytest/src/_pytest/helpconfig.py:import pytest pytest/src/_pytest/junitxml.py:import functools pytest/src/_pytest/junitxml.py:import os pytest/src/_pytest/junitxml.py:import platform pytest/src/_pytest/junitxml.py:import re pytest/src/_pytest/junitxml.py:import xml.etree.ElementTree as ET pytest/src/_pytest/junitxml.py:import pytest pytest/src/_pytest/legacypath.py:import dataclasses pytest/src/_pytest/legacypath.py:import shlex pytest/src/_pytest/legacypath.py:import subprocess pytest/src/_pytest/logging.py:import io pytest/src/_pytest/logging.py:import logging pytest/src/_pytest/logging.py:import os pytest/src/_pytest/logging.py:import re pytest/src/_pytest/main.py:import argparse pytest/src/_pytest/main.py:import dataclasses pytest/src/_pytest/main.py:import fnmatch pytest/src/_pytest/main.py:import functools pytest/src/_pytest/main.py:import importlib pytest/src/_pytest/main.py:import os pytest/src/_pytest/main.py:import sys pytest/src/_pytest/main.py:import pluggy pytest/src/_pytest/main.py:import _pytest._code pytest/src/_pytest/mark/__init__.py:import dataclasses pytest/src/_pytest/mark/expression.py:import ast pytest/src/_pytest/mark/expression.py:import dataclasses pytest/src/_pytest/mark/expression.py:import enum pytest/src/_pytest/mark/expression.py:import re pytest/src/_pytest/mark/expression.py:import types pytest/src/_pytest/mark/structures.py:import collections.abc pytest/src/_pytest/mark/structures.py:import dataclasses pytest/src/_pytest/mark/structures.py:import inspect pytest/src/_pytest/mark/structures.py:import warnings pytest/src/_pytest/monkeypatch.py:import os pytest/src/_pytest/monkeypatch.py:import re pytest/src/_pytest/monkeypatch.py:import sys pytest/src/_pytest/monkeypatch.py:import warnings pytest/src/_pytest/nodes.py:import os pytest/src/_pytest/nodes.py:import warnings pytest/src/_pytest/nodes.py:import pluggy pytest/src/_pytest/nodes.py:import _pytest._code pytest/src/_pytest/nose.py:import warnings pytest/src/_pytest/outcomes.py:import sys pytest/src/_pytest/outcomes.py:import warnings pytest/src/_pytest/pastebin.py:import tempfile pytest/src/_pytest/pastebin.py:import pytest pytest/src/_pytest/pathlib.py:import atexit pytest/src/_pytest/pathlib.py:import contextlib pytest/src/_pytest/pathlib.py:import fnmatch pytest/src/_pytest/pathlib.py:import importlib.util pytest/src/_pytest/pathlib.py:import itertools pytest/src/_pytest/pathlib.py:import os pytest/src/_pytest/pathlib.py:import shutil pytest/src/_pytest/pathlib.py:import sys pytest/src/_pytest/pathlib.py:import types pytest/src/_pytest/pathlib.py:import uuid pytest/src/_pytest/pathlib.py:import warnings pytest/src/_pytest/pytester.py:import collections.abc pytest/src/_pytest/pytester.py:import contextlib pytest/src/_pytest/pytester.py:import gc pytest/src/_pytest/pytester.py:import importlib pytest/src/_pytest/pytester.py:import locale pytest/src/_pytest/pytester.py:import os pytest/src/_pytest/pytester.py:import platform pytest/src/_pytest/pytester.py:import re pytest/src/_pytest/pytester.py:import shutil pytest/src/_pytest/pytester.py:import subprocess pytest/src/_pytest/pytester.py:import sys pytest/src/_pytest/pytester.py:import traceback pytest/src/_pytest/python.py:import dataclasses pytest/src/_pytest/python.py:import enum pytest/src/_pytest/python.py:import fnmatch pytest/src/_pytest/python.py:import inspect pytest/src/_pytest/python.py:import itertools pytest/src/_pytest/python.py:import os pytest/src/_pytest/python.py:import sys pytest/src/_pytest/python.py:import types pytest/src/_pytest/python.py:import warnings pytest/src/_pytest/python.py:import _pytest pytest/src/_pytest/python_api.py:import math pytest/src/_pytest/python_api.py:import pprint pytest/src/_pytest/python_api.py:import _pytest._code pytest/src/_pytest/python_path.py:import sys pytest/src/_pytest/python_path.py:import pytest pytest/src/_pytest/recwarn.py:import re pytest/src/_pytest/recwarn.py:import warnings pytest/src/_pytest/reports.py:import dataclasses pytest/src/_pytest/reports.py:import os pytest/src/_pytest/runner.py:import bdb pytest/src/_pytest/runner.py:import dataclasses pytest/src/_pytest/runner.py:import os pytest/src/_pytest/runner.py:import sys pytest/src/_pytest/setuponly.py:import pytest pytest/src/_pytest/setupplan.py:import pytest pytest/src/_pytest/skipping.py:import dataclasses pytest/src/_pytest/skipping.py:import os pytest/src/_pytest/skipping.py:import platform pytest/src/_pytest/skipping.py:import sys pytest/src/_pytest/skipping.py:import traceback pytest/src/_pytest/stepwise.py:import pytest pytest/src/_pytest/terminal.py:import argparse pytest/src/_pytest/terminal.py:import dataclasses pytest/src/_pytest/terminal.py:import datetime pytest/src/_pytest/terminal.py:import inspect pytest/src/_pytest/terminal.py:import platform pytest/src/_pytest/terminal.py:import sys pytest/src/_pytest/terminal.py:import textwrap pytest/src/_pytest/terminal.py:import warnings pytest/src/_pytest/terminal.py:import pluggy pytest/src/_pytest/terminal.py:import _pytest._version pytest/src/_pytest/threadexception.py:import threading pytest/src/_pytest/threadexception.py:import traceback pytest/src/_pytest/threadexception.py:import warnings pytest/src/_pytest/threadexception.py:import pytest pytest/src/_pytest/tmpdir.py:import dataclasses pytest/src/_pytest/tmpdir.py:import os pytest/src/_pytest/tmpdir.py:import re pytest/src/_pytest/tmpdir.py:import tempfile pytest/src/_pytest/unittest.py:import sys pytest/src/_pytest/unittest.py:import traceback pytest/src/_pytest/unittest.py:import types pytest/src/_pytest/unittest.py:import _pytest._code pytest/src/_pytest/unittest.py:import pytest pytest/src/_pytest/unraisableexception.py:import sys pytest/src/_pytest/unraisableexception.py:import traceback pytest/src/_pytest/unraisableexception.py:import warnings pytest/src/_pytest/unraisableexception.py:import pytest pytest/src/_pytest/warning_types.py:import dataclasses pytest/src/_pytest/warning_types.py:import inspect pytest/src/_pytest/warning_types.py:import warnings pytest/src/_pytest/warnings.py:import sys pytest/src/_pytest/warnings.py:import warnings pytest/src/_pytest/warnings.py:import pytest pytest/src/py.py:import sys pytest/src/py.py:import _pytest._py.error as error pytest/src/py.py:import _pytest._py.path as path pytest/src/pytest/__main__.py:import pytest pytest/testing/_py/test_local.py:import contextlib pytest/testing/_py/test_local.py:import multiprocessing pytest/testing/_py/test_local.py:import os pytest/testing/_py/test_local.py:import sys pytest/testing/_py/test_local.py:import time pytest/testing/_py/test_local.py:import warnings pytest/testing/_py/test_local.py:import pytest pytest/testing/_py/test_local.py:import otherdir.a pytest/testing/acceptance_test.py:import dataclasses pytest/testing/acceptance_test.py:import importlib.metadata pytest/testing/acceptance_test.py:import os pytest/testing/acceptance_test.py:import sys pytest/testing/acceptance_test.py:import types pytest/testing/acceptance_test.py:import pytest pytest/testing/code/test_code.py:import re pytest/testing/code/test_code.py:import sys pytest/testing/code/test_code.py:import pytest pytest/testing/code/test_excinfo.py:import importlib pytest/testing/code/test_excinfo.py:import io pytest/testing/code/test_excinfo.py:import operator pytest/testing/code/test_excinfo.py:import queue pytest/testing/code/test_excinfo.py:import re pytest/testing/code/test_excinfo.py:import sys pytest/testing/code/test_excinfo.py:import textwrap pytest/testing/code/test_excinfo.py:import _pytest._code pytest/testing/code/test_excinfo.py:import pytest pytest/testing/code/test_source.py:import inspect pytest/testing/code/test_source.py:import linecache pytest/testing/code/test_source.py:import sys pytest/testing/code/test_source.py:import textwrap pytest/testing/code/test_source.py:import pytest pytest/testing/conftest.py:import dataclasses pytest/testing/conftest.py:import re pytest/testing/conftest.py:import sys pytest/testing/conftest.py:import pytest pytest/testing/deprecated_test.py:import re pytest/testing/deprecated_test.py:import sys pytest/testing/deprecated_test.py:import warnings pytest/testing/deprecated_test.py:import pytest pytest/testing/example_scripts/acceptance/fixture_mock_integration.py:import pytest pytest/testing/example_scripts/fixtures/custom_item/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub1/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_conftest_funcargs_only_available_in_subdir/sub2/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_detect_recursive_dependency_error.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_conftest/pkg/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/conftest.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_conftest_module/test_extend_fixture_conftest_module.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_extend_fixture_module_class.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_basic.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_classlevel.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookup_modulelevel.py:import pytest pytest/testing/example_scripts/fixtures/fill_fixtures/test_funcarg_lookupfails.py:import pytest pytest/testing/example_scripts/fixtures/test_fixture_named_request.py:import pytest pytest/testing/example_scripts/fixtures/test_getfixturevalue_dynamic.py:import pytest pytest/testing/example_scripts/issue88_initial_file_multinodes/conftest.py:import pytest pytest/testing/example_scripts/issue_519.py:import pprint pytest/testing/example_scripts/issue_519.py:import pytest pytest/testing/example_scripts/marks/marks_considered_keywords/test_marks_as_keywords.py:import pytest pytest/testing/example_scripts/perf_examples/collect_stats/generate_folders.py:import argparse pytest/testing/example_scripts/perf_examples/collect_stats/generate_folders.py:import pathlib pytest/testing/example_scripts/tmpdir/tmp_path_fixture.py:import pytest pytest/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py:import unittest pytest/testing/example_scripts/unittest/test_parametrized_fixture_error_message.py:import pytest pytest/testing/example_scripts/unittest/test_setup_skip.py:import unittest pytest/testing/example_scripts/unittest/test_setup_skip_class.py:import unittest pytest/testing/example_scripts/unittest/test_setup_skip_module.py:import unittest pytest/testing/example_scripts/unittest/test_unittest_asynctest.py:import asyncio pytest/testing/example_scripts/unittest/test_unittest_asynctest.py:import asynctest pytest/testing/example_scripts/unittest/test_unittest_plain_async.py:import unittest pytest/testing/example_scripts/warnings/test_group_warnings_by_message.py:import warnings pytest/testing/example_scripts/warnings/test_group_warnings_by_message.py:import pytest pytest/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py:import warnings pytest/testing/example_scripts/warnings/test_group_warnings_by_message_summary/test_1.py:import pytest pytest/testing/io/test_saferepr.py:import pytest pytest/testing/io/test_terminalwriter.py:import io pytest/testing/io/test_terminalwriter.py:import os pytest/testing/io/test_terminalwriter.py:import re pytest/testing/io/test_terminalwriter.py:import shutil pytest/testing/io/test_terminalwriter.py:import sys pytest/testing/io/test_terminalwriter.py:import pytest pytest/testing/io/test_wcwidth.py:import pytest pytest/testing/logging/test_fixture.py:import logging pytest/testing/logging/test_fixture.py:import pytest pytest/testing/logging/test_formatter.py:import logging pytest/testing/logging/test_reporting.py:import io pytest/testing/logging/test_reporting.py:import os pytest/testing/logging/test_reporting.py:import re pytest/testing/logging/test_reporting.py:import pytest pytest/testing/plugins_integration/bdd_wallet.py:import pytest pytest/testing/plugins_integration/pytest_anyio_integration.py:import anyio pytest/testing/plugins_integration/pytest_anyio_integration.py:import pytest pytest/testing/plugins_integration/pytest_asyncio_integration.py:import asyncio pytest/testing/plugins_integration/pytest_asyncio_integration.py:import pytest pytest/testing/plugins_integration/pytest_trio_integration.py:import trio pytest/testing/plugins_integration/pytest_trio_integration.py:import pytest pytest/testing/plugins_integration/pytest_twisted_integration.py:import pytest_twisted pytest/testing/plugins_integration/simple_integration.py:import pytest pytest/testing/python/approx.py:import operator pytest/testing/python/approx.py:import pytest pytest/testing/python/collect.py:import os pytest/testing/python/collect.py:import sys pytest/testing/python/collect.py:import textwrap pytest/testing/python/collect.py:import _pytest._code pytest/testing/python/collect.py:import pytest pytest/testing/python/fixtures.py:import os pytest/testing/python/fixtures.py:import sys pytest/testing/python/fixtures.py:import textwrap pytest/testing/python/fixtures.py:import pytest pytest/testing/python/integration.py:import pytest pytest/testing/python/metafunc.py:import dataclasses pytest/testing/python/metafunc.py:import itertools pytest/testing/python/metafunc.py:import re pytest/testing/python/metafunc.py:import sys pytest/testing/python/metafunc.py:import textwrap pytest/testing/python/metafunc.py:import hypothesis pytest/testing/python/metafunc.py:import pytest pytest/testing/python/raises.py:import re pytest/testing/python/raises.py:import sys pytest/testing/python/raises.py:import pytest pytest/testing/test_argcomplete.py:import subprocess pytest/testing/test_argcomplete.py:import sys pytest/testing/test_argcomplete.py:import pytest pytest/testing/test_assertion.py:import collections pytest/testing/test_assertion.py:import sys pytest/testing/test_assertion.py:import textwrap pytest/testing/test_assertion.py:import attr pytest/testing/test_assertion.py:import _pytest.assertion as plugin pytest/testing/test_assertion.py:import pytest pytest/testing/test_assertrewrite.py:import ast pytest/testing/test_assertrewrite.py:import errno pytest/testing/test_assertrewrite.py:import glob pytest/testing/test_assertrewrite.py:import importlib pytest/testing/test_assertrewrite.py:import marshal pytest/testing/test_assertrewrite.py:import os pytest/testing/test_assertrewrite.py:import py_compile pytest/testing/test_assertrewrite.py:import stat pytest/testing/test_assertrewrite.py:import sys pytest/testing/test_assertrewrite.py:import textwrap pytest/testing/test_assertrewrite.py:import zipfile pytest/testing/test_assertrewrite.py:import _pytest._code pytest/testing/test_assertrewrite.py:import pytest pytest/testing/test_cacheprovider.py:import os pytest/testing/test_cacheprovider.py:import shutil pytest/testing/test_cacheprovider.py:import pytest pytest/testing/test_capture.py:import contextlib pytest/testing/test_capture.py:import io pytest/testing/test_capture.py:import os pytest/testing/test_capture.py:import subprocess pytest/testing/test_capture.py:import sys pytest/testing/test_capture.py:import textwrap pytest/testing/test_capture.py:import pytest pytest/testing/test_collection.py:import os pytest/testing/test_collection.py:import pprint pytest/testing/test_collection.py:import shutil pytest/testing/test_collection.py:import sys pytest/testing/test_collection.py:import textwrap pytest/testing/test_collection.py:import pytest pytest/testing/test_compat.py:import enum pytest/testing/test_compat.py:import sys pytest/testing/test_compat.py:import pytest pytest/testing/test_config.py:import dataclasses pytest/testing/test_config.py:import importlib.metadata pytest/testing/test_config.py:import os pytest/testing/test_config.py:import re pytest/testing/test_config.py:import sys pytest/testing/test_config.py:import textwrap pytest/testing/test_config.py:import _pytest._code pytest/testing/test_config.py:import pytest pytest/testing/test_conftest.py:import os pytest/testing/test_conftest.py:import textwrap pytest/testing/test_conftest.py:import pytest pytest/testing/test_debugging.py:import os pytest/testing/test_debugging.py:import sys pytest/testing/test_debugging.py:import _pytest._code pytest/testing/test_debugging.py:import pytest pytest/testing/test_doctest.py:import inspect pytest/testing/test_doctest.py:import sys pytest/testing/test_doctest.py:import textwrap pytest/testing/test_doctest.py:import pytest pytest/testing/test_entry_points.py:import importlib.metadata pytest/testing/test_error_diffs.py:import pytest pytest/testing/test_faulthandler.py:import io pytest/testing/test_faulthandler.py:import sys pytest/testing/test_faulthandler.py:import pytest pytest/testing/test_findpaths.py:import os pytest/testing/test_findpaths.py:import pytest pytest/testing/test_helpconfig.py:import pytest pytest/testing/test_junitxml.py:import os pytest/testing/test_junitxml.py:import platform pytest/testing/test_junitxml.py:import xmlschema pytest/testing/test_junitxml.py:import pytest pytest/testing/test_legacypath.py:import pytest pytest/testing/test_link_resolve.py:import os.path pytest/testing/test_link_resolve.py:import subprocess pytest/testing/test_link_resolve.py:import sys pytest/testing/test_link_resolve.py:import textwrap pytest/testing/test_main.py:import argparse pytest/testing/test_main.py:import os pytest/testing/test_main.py:import re pytest/testing/test_main.py:import sys pytest/testing/test_main.py:import pytest pytest/testing/test_mark.py:import os pytest/testing/test_mark.py:import sys pytest/testing/test_mark.py:import pytest pytest/testing/test_mark_expression.py:import pytest pytest/testing/test_meta.py:import pkgutil pytest/testing/test_meta.py:import subprocess pytest/testing/test_meta.py:import sys pytest/testing/test_meta.py:import _pytest pytest/testing/test_meta.py:import pytest pytest/testing/test_monkeypatch.py:import os pytest/testing/test_monkeypatch.py:import re pytest/testing/test_monkeypatch.py:import sys pytest/testing/test_monkeypatch.py:import textwrap pytest/testing/test_monkeypatch.py:import pytest pytest/testing/test_nodes.py:import re pytest/testing/test_nodes.py:import warnings pytest/testing/test_nodes.py:import pytest pytest/testing/test_nose.py:import pytest pytest/testing/test_parseopt.py:import argparse pytest/testing/test_parseopt.py:import locale pytest/testing/test_parseopt.py:import os pytest/testing/test_parseopt.py:import shlex pytest/testing/test_parseopt.py:import subprocess pytest/testing/test_parseopt.py:import sys pytest/testing/test_parseopt.py:import pytest pytest/testing/test_pastebin.py:import email.message pytest/testing/test_pastebin.py:import io pytest/testing/test_pastebin.py:import pytest pytest/testing/test_pathlib.py:import errno pytest/testing/test_pathlib.py:import os.path pytest/testing/test_pathlib.py:import pickle pytest/testing/test_pathlib.py:import sys pytest/testing/test_pathlib.py:import unittest.mock pytest/testing/test_pathlib.py:import pytest pytest/testing/test_pluginmanager.py:import os pytest/testing/test_pluginmanager.py:import shutil pytest/testing/test_pluginmanager.py:import sys pytest/testing/test_pluginmanager.py:import types pytest/testing/test_pluginmanager.py:import pytest pytest/testing/test_pytester.py:import os pytest/testing/test_pytester.py:import subprocess pytest/testing/test_pytester.py:import sys pytest/testing/test_pytester.py:import time pytest/testing/test_pytester.py:import _pytest.pytester as pytester_mod pytest/testing/test_pytester.py:import pytest pytest/testing/test_python_path.py:import sys pytest/testing/test_python_path.py:import pytest pytest/testing/test_recwarn.py:import warnings pytest/testing/test_recwarn.py:import pytest pytest/testing/test_reports.py:import pytest pytest/testing/test_runner.py:import inspect pytest/testing/test_runner.py:import os pytest/testing/test_runner.py:import sys pytest/testing/test_runner.py:import types pytest/testing/test_runner.py:import pytest pytest/testing/test_runner_xunit.py:import pytest pytest/testing/test_scope.py:import re pytest/testing/test_scope.py:import pytest pytest/testing/test_session.py:import pytest pytest/testing/test_setuponly.py:import sys pytest/testing/test_setuponly.py:import pytest pytest/testing/test_skipping.py:import sys pytest/testing/test_skipping.py:import textwrap pytest/testing/test_skipping.py:import pytest pytest/testing/test_stash.py:import pytest pytest/testing/test_stepwise.py:import pytest pytest/testing/test_stepwise.py:import pytest pytest/testing/test_stepwise.py:import pytest pytest/testing/test_terminal.py:import collections pytest/testing/test_terminal.py:import os pytest/testing/test_terminal.py:import sys pytest/testing/test_terminal.py:import textwrap pytest/testing/test_terminal.py:import pluggy pytest/testing/test_terminal.py:import _pytest.config pytest/testing/test_terminal.py:import _pytest.terminal pytest/testing/test_terminal.py:import pytest pytest/testing/test_threadexception.py:import pytest pytest/testing/test_tmpdir.py:import dataclasses pytest/testing/test_tmpdir.py:import os pytest/testing/test_tmpdir.py:import stat pytest/testing/test_tmpdir.py:import sys pytest/testing/test_tmpdir.py:import warnings pytest/testing/test_tmpdir.py:import pytest pytest/testing/test_unittest.py:import gc pytest/testing/test_unittest.py:import sys pytest/testing/test_unittest.py:import pytest pytest/testing/test_unraisableexception.py:import sys pytest/testing/test_unraisableexception.py:import pytest pytest/testing/test_warning_types.py:import inspect pytest/testing/test_warning_types.py:import pytest pytest/testing/test_warnings.py:import os pytest/testing/test_warnings.py:import sys pytest/testing/test_warnings.py:import warnings pytest/testing/test_warnings.py:import pytest pytest/testing/typing_checks.py:import contextlib pytest/testing/typing_checks.py:import pytest ```

As you seee there is no even SINGLE relative import.

jakkdl commented 11 months ago

So, there is a ruff check for relative imports: https://docs.astral.sh/ruff/rules/relative-imports/

And some looking around seems to suggest that absolute imports are slightly preferred nowadays, any big problems with it in the past have been corrected: https://bugs.python.org/issue10031

I'd personally be in favor of a reformatting PR that enables TID252, it might catch stuff not being exported and clean up imports a bit. This isn't related to this issue though, so feel free to open a separate issue or create that PR though.

It is yet another issue that test suite is not separated from module code and it is installed with actual module code. Normal practice is placing test suite in tests/ subdirectory in source tree. This directory by default is excluded from install list..

See #274

kloczek commented 11 months ago

ruff produces DSO and it causes that it cannot be tested without installing because using relative imports FORCES to have DSO in the the same directory where is rest of the .py files.

trio and ruff do not have complicated tree layout and has no DSO so looking on ruff does not make to much sense. As I wrote .. jus please try to check few more examples of most frequently used python pypi modules if pytest is not enough for you.

ruff additionally is nastier because it sued own fork of libCST. Looks like maintained is not able to use standalone libCST binaries. I've already discussed that and did not receive clean justification of that approach. Looks like complexity is only result of the approach of use libCST.

As I wrote, additional side effect of use relative imports is forcing python to call additional syscalls to obtain absolute path to exact imported module and no other benefits ..