#1765 Fix a crash in pypy.

Merged leojay
Coverage Reach
_core/tests/test_run.py _core/tests/test_multierror.py _core/tests/test_ki.py _core/tests/test_guest_mode.py _core/tests/test_io.py _core/tests/test_asyncgen.py _core/tests/test_instrumentation.py _core/tests/test_parking_lot.py _core/tests/test_windows.py _core/tests/test_mock_clock.py _core/tests/test_unbounded_queue.py _core/tests/test_thread_cache.py _core/tests/test_local.py _core/tests/tutil.py _core/tests/test_multierror_scripts/simple_excepthook.py _core/tests/test_multierror_scripts/custom_excepthook.py _core/tests/test_multierror_scripts/simple_excepthook_partial.py _core/tests/test_multierror_scripts/apport_excepthook.py _core/tests/test_multierror_scripts/simple_excepthook_IPython.py _core/tests/test_multierror_scripts/_common.py _core/tests/conftest.py _core/tests/test_tutil.py _core/tests/test_util.py _core/_run.py _core/_io_windows.py _core/_multierror.py _core/_io_kqueue.py _core/_io_epoll.py _core/_windows_cffi.py _core/_ki.py _core/_mock_clock.py _core/_asyncgens.py _core/_entry_queue.py _core/_wakeup_socketpair.py _core/_local.py _core/_unbounded_queue.py _core/_instrumentation.py _core/_parking_lot.py _core/_thread_cache.py _core/_traps.py _core/_io_common.py _core/__init__.py _core/_exceptions.py tests/test_ssl.py tests/test_socket.py tests/test_testing.py tests/test_sync.py tests/test_threads.py tests/test_subprocess.py tests/test_highlevel_open_tcp_stream.py tests/test_channel.py tests/test_highlevel_open_tcp_listeners.py tests/test_highlevel_socket.py tests/test_unix_pipes.py tests/test_path.py tests/test_wait_for_object.py tests/test_deprecate.py tests/test_signals.py tests/test_file_io.py tests/test_util.py tests/test_highlevel_serve_listeners.py tests/test_windows_pipes.py tests/test_exports.py tests/test_highlevel_generic.py tests/test_highlevel_ssl_helpers.py tests/test_timeouts.py tests/test_highlevel_open_unix_stream.py tests/tools/test_gen_exports.py tests/test_scheduler_determinism.py tests/test_abc.py tests/conftest.py tests/module_with_deprecations.py testing/_check_streams.py testing/_memory_streams.py testing/_sequencer.py testing/_checkpoints.py testing/_trio_test.py testing/_network.py testing/__init__.py _socket.py _sync.py _subprocess.py _ssl.py _channel.py _util.py _path.py _highlevel_socket.py _threads.py _subprocess_platform/waitid.py _subprocess_platform/__init__.py _subprocess_platform/kqueue.py _subprocess_platform/windows.py _unix_pipes.py _abc.py _tools/gen_exports.py _windows_pipes.py _highlevel_open_tcp_stream.py _deprecate.py _signals.py _file_io.py _highlevel_open_tcp_listeners.py socket.py __init__.py _timeouts.py _highlevel_serve_listeners.py _highlevel_generic.py _wait_for_object.py _highlevel_open_unix_stream.py _highlevel_ssl_helpers.py lowlevel.py to_thread.py from_thread.py abc.py _version.py

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -502,6 +502,10 @@
Loading
502 502
503 503
504 504
@pytest.mark.skipif(buggy_pypy_asyncgens, reason="PyPy 7.2 is buggy")
505 +
@pytest.mark.xfail(
506 +
    sys.implementation.name == "pypy" and sys.version_info >= (3, 7),
507 +
    reason="async generator issue under investigation",
508 +
)
505 509
def test_guest_mode_asyncgens():
506 510
    import sniffio
507 511

@@ -6,10 +6,23 @@
Loading
6 6
from .. import _core
7 7
from .._util import is_main_thread
8 8
9 -
if sys.version_info >= (3, 7):
10 -
    HAVE_WARN_ON_FULL_BUFFER = True
11 -
else:
12 -
    HAVE_WARN_ON_FULL_BUFFER = False
9 +
10 +
def _has_warn_on_full_buffer():
11 +
    if sys.version_info < (3, 7):
12 +
        return False
13 +
14 +
    if "__pypy__" not in sys.builtin_module_names:
15 +
        # CPython has warn_on_full_buffer. Don't need to inspect.
16 +
        # Also, CPython doesn't support inspecting built-in functions.
17 +
        return True
18 +
19 +
    import inspect
20 +
21 +
    args_spec = inspect.getfullargspec(signal.set_wakeup_fd)
22 +
    return "warn_on_full_buffer" in args_spec.kwonlyargs
23 +
24 +
25 +
HAVE_WARN_ON_FULL_BUFFER = _has_warn_on_full_buffer()
13 26
14 27
15 28
class WakeupSocketpair:

Everything is accounted for!

No changes detected that need to be reviewed.
What changes does Codecov check for?
Lines, not adjusted in diff, that have changed coverage data.
Files that introduced coverage data that had none before.
Files that have missing coverage data that once were tracked.
Files Coverage
trio +<.01% 99.64%
Project Totals (114 files) 99.64%
Loading