Commit e2e3f3e
authored
Fix asyncio event-loop leak; expand CI to the full non-browser suite (#184)
* test(claude_session): remove orphaned fixtures test left by #174
#174 (aa815ee) intentionally deleted mcp/claude-session/fixtures/ (the
MalformedWriteToolInput model + its fixture + manifest.json) but left
tests/claude_session/test_fixtures.py asserting that now-missing directory --
silently red on main since. Remove the dead test, its dir-local conftest,
and the now-empty test package.
* fix(tests): upgrade pytest-asyncio 1.3.0 -> 1.4.0 (event-loop leak)
1.3.0's _temporary_event_loop_policy captured the current loop via
asyncio.get_event_loop() to restore per async test; on Python 3.13 that
fabricates an unclosed _UnixSelectorEventLoop + AF_UNIX socketpair, which
filterwarnings=["error"] escalated into a non-deterministic
PytestUnraisableExceptionWarning landing on a random victim test. 1.4.0
drops the loop capture/restore (upstream pytest-dev/pytest-asyncio#1164).
Verified: the previously non-deterministic cc_lib+crb+hooks combo now
passes 429/429 across repeated runs.
* ci: run the full suite (minus browser-only selenium) on every PR
The pytest-asyncio 1.4.0 loop-leak fix + orphan-test cleanup make the
non-browser suite deterministic, so CI now guards all 830 of those tests
instead of just tests/linters/. tests/selenium_browser needs a real browser
the ubuntu runner lacks; it gets a dedicated browser job in a follow-up.
* ci: install zsh for claude-remote-bash executor tests
The crb executor runs commands in /bin/zsh (its configured shell); ubuntu
runners don't ship zsh, so 12 test_executor.py tests failed with
FileNotFoundError. Same shape as libsnappy: a real crb runtime dependency
the runner must provide.1 parent 1cda088 commit e2e3f3e
6 files changed
Lines changed: 18 additions & 107 deletions
File tree
- .github/workflows
- tests/claude_session
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
25 | | - | |
26 | | - | |
27 | | - | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
28 | 29 | | |
29 | 30 | | |
30 | 31 | | |
31 | 32 | | |
32 | 33 | | |
33 | | - | |
34 | | - | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
35 | 37 | | |
36 | 38 | | |
37 | 39 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
226 | 232 | | |
227 | 233 | | |
228 | 234 | | |
| |||
Whitespace-only changes.
This file was deleted.
This file was deleted.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
0 commit comments