diff options
| author | Christophe Besson <cbesson@gmail.com> | 2026-09-04 01:47:26 +0200 |
|---|---|---|
| committer | Christophe Besson <cbesson@gmail.com> | 2026-09-04 01:47:26 +0200 |
| commit | a5255ec984098579d400a631fdf3a2571cb0ca79 (patch) | |
| tree | 5743ab194cc6d07d209d640748ab749753b62513 /packages | |
| parent | 753653b4df62723b82d32799825135822886eac7 (diff) | |
| download | meshbay-a5255ec984098579d400a631fdf3a2571cb0ca79.tar.gz | |
test: add pytest-timeout and pin the Windows selector event loop
A hung test could wedge the whole run: aiortc's ICE stack never completes
a loopback DataChannel handshake on Windows' default ProactorEventLoop, and
nothing capped it. Two changes, both no-ops off Windows:
- `timeout = 60` in the root pytest config (+ pytest-timeout in the dev
extras) so a stall fails the test instead of the suite.
- a root conftest that selects WindowsSelectorEventLoopPolicy on win32 only,
which is what aiortc needs there. Trade-off, documented: the selector loop
cannot spawn subprocesses on Windows, so the ffmpeg streaming tests fail
there rather than pass -- they need a per-module override or skipif(win32).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Diffstat (limited to 'packages')
| -rw-r--r-- | packages/meshbay-common/pyproject.toml | 2 | ||||
| -rw-r--r-- | packages/meshbay-hub/pyproject.toml | 2 | ||||
| -rw-r--r-- | packages/meshbay-node/pyproject.toml | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/packages/meshbay-common/pyproject.toml b/packages/meshbay-common/pyproject.toml index 54de3b4..370d217 100644 --- a/packages/meshbay-common/pyproject.toml +++ b/packages/meshbay-common/pyproject.toml @@ -16,7 +16,7 @@ dependencies = [ ] [project.optional-dependencies] -dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6"] +dev = ["pytest>=8", "pytest-asyncio>=0.24", "pytest-timeout>=2.3", "ruff>=0.6"] [tool.hatch.build.targets.wheel] packages = ["src/meshbay_common"] diff --git a/packages/meshbay-hub/pyproject.toml b/packages/meshbay-hub/pyproject.toml index b1597e0..bce0ad2 100644 --- a/packages/meshbay-hub/pyproject.toml +++ b/packages/meshbay-hub/pyproject.toml @@ -22,7 +22,7 @@ dependencies = [ ] [project.optional-dependencies] -dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "httpx>=0.28", "argon2-cffi>=21.3"] +dev = ["pytest>=8", "pytest-asyncio>=0.24", "pytest-timeout>=2.3", "ruff>=0.6", "httpx>=0.28", "argon2-cffi>=21.3"] [project.scripts] meshbay-hub = "meshbay_hub.daemon:main" diff --git a/packages/meshbay-node/pyproject.toml b/packages/meshbay-node/pyproject.toml index 2aa80aa..1f174cd 100644 --- a/packages/meshbay-node/pyproject.toml +++ b/packages/meshbay-node/pyproject.toml @@ -28,7 +28,7 @@ dependencies = [ # camera output) for test_enrich_photo.py — Pillow itself is lenient enough # to round-trip a flat, non-standard EXIF dict, which would have hidden the # get_ifd(Exif) bug enrich_photo.py's DateTimeOriginal read had. -dev = ["pytest>=8", "pytest-asyncio>=0.24", "ruff>=0.6", "piexif>=1.1"] +dev = ["pytest>=8", "pytest-asyncio>=0.24", "pytest-timeout>=2.3", "ruff>=0.6", "piexif>=1.1"] [project.scripts] meshbay-node = "meshbay_node.daemon:main" |