Skip `test_ringbuf` at collection off-linux
`tests/test_ringbuf.py` imports `tractor.ipc._ringbuf` at module top, which pulls in `tractor.ipc._linux` whose module-level `ffi.dlopen(None)` raises `OSError` on Windows (and any non-linux host). That fires at COLLECTION, before the module's existing `pytestmark = pytest.mark.skip` can apply, so it aborts the whole pytest session — the new `windows-latest` CI leg never gets past collection. - guard the module with `pytest.skip(allow_module_level=True)` gated on `platform.system() != 'Linux'`, placed before the crashing import — same idiom as `tests/devx/test_debugger.py`. - the `eventfd`-based ringbuf backend is linux-only by design, so macOS skips cleanly too (previously it only skipped incidentally via the absent `cffi` optional dep). (this patch was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-codewindows_support_round2
parent
83d45435bf
commit
08f7a3a9b8
|
|
@ -1,10 +1,22 @@
|
|||
import time
|
||||
import platform
|
||||
|
||||
import trio
|
||||
import pytest
|
||||
|
||||
import tractor
|
||||
|
||||
# `tractor.ipc._ringbuf` is built on linux `eventfd(2)`; importing
|
||||
# it pulls in `tractor.ipc._linux` whose module-level
|
||||
# `ffi.dlopen(None)` raises on non-linux. Skip the whole module at
|
||||
# COLLECTION before that crashing import runs (a `pytestmark` skip
|
||||
# is too late — markers apply only after the import succeeds).
|
||||
if platform.system() != 'Linux':
|
||||
pytest.skip(
|
||||
'ringbuf (eventfd) IPC is linux-only',
|
||||
allow_module_level=True,
|
||||
)
|
||||
|
||||
# XXX `cffi` dun build on py3.14 yet..
|
||||
pytest.importorskip("cffi")
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue