py3.13 test-suite surgery #8
Loading…
Reference in New Issue
There is no content yet.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may exist for a short time before cleaning up, in most cases it CANNOT be undone. Continue?
With py 3.13 comes all sorts of “fun”, namely some fairly disruptive lib and UX changes that break the test suite and in particular the
pdbp
REPL experience.This issue is mostly meant as a notes-to-self while i work through figuring out all the broken test suites and ideally using any hanging tests to drive a tighter timeout style going forward.
Summary of to-blame cpython, stdlib, and core runtime changes
trio
’s release schedule requires we bump to at leasttrio>0.27
which flips on strict egs by default.strict_exception_groups=False
(likeca65aea090
to start) in various suites and/or just forcing the move to explicitexcept*
handling throughout..asyncio
re-mucking its SIGINT machinery.infected_aio=True
set in the root actor massively borks theto_asyncio
oriented tests amongst other very strange SIGINT handler mgmt (that i’d call fairly questionable)...pause_from_sync()
stuff intro-ed in #1 since all that is commonly/intended to be used within (partial)asyncio.Task
s.tests/devx/test_debugger.py
suite(s).8fa538c40e
readline.backend: str
and seemingly cpython itself being more commonly built (definitely with our move touv
for pking) to uselibedit
meaning our use ofpdbp
gets REPL UX issues (tab complete, vi mode) without specially configuring.Summary of problematic/failing tests of note..
after running the full set and ctl-c any hangers the report is something like,
all in 10658.31s (2:57:38).. yeah bc some got left hanging until i noticed and mashed the SIGINT..
1st-PASS hanging tests
These needed ctl-c (and thought would need timeout wrapping..) UPDATE: seems like for some weird reason certain tests were hanging due to
debug_mode==True
being set in the._state._runtime_vars
?? No idea why it stopped either 😂gonna order these according to what i think is least annoying to deal with first and then link commits which provide timeout-ing and then with follow up patches to fix 🙏..
test_iter_peer_cancellation
-suite,infected_asyncio
-suite,Seemingly all fixed after
71562e0af7
2nd-PASS (28) failing tests
once there were no more hangs the soln patches seemed to have narrowed us down to the remaining fail set,
Solved by
375c00da6e
Solved by
375c00da6e
Fixed by
ad56d10c51
fixed by
7fac170f8d
ande1bacaf4f4
Fixed by
55809dac51
3rd-PASS (22) failing tests
no more hanging tests, just devx/debugger relateds, root-infected-aio and some typed-msging laggards.
= 22 failed, 242 passed, 7 skipped, 4 xfailed, 1220 warnings in 464.82s (0:07:44) =
|_> fixed by
d32dc4e889
Mostly repaired by #18
4th-PASS (11 failing) -> back to where i was pre 3.13 XD
tests/devx/test_pause_from_non_trio.py::test_pause_from_sync[ctl-c=True-trio]
htop
.. So, made a couple issues and linked to.xfail()
-ed tests:tests/devx/test_pause_from_non_trio.py::test_sync_pause_from_aio_task[ctl-c=True-trio]
commit
81349f7c09
marks the tests#9 is the issue to track and ideally fix and/or report upstream ;)
tests/devx/test_tooling.py::test_shield_pause[trio]
before
output?All fixed by
b1bcbf5693
and generally in #185th-n-FINAL? (4 failing)
So more or less back to where i was doing typed-msging unit tests?
Bo
All changed and fixed after #19
As an update we are entirely clean here as of #18 with some lingering typed-msging tests being reworked in a follow up downstream PR.