Fix `test_simple_context` for `trio>=0.33` groups
Under `trio>=0.33`'s strict exception-groups a lone `error_parent` arrives wrapped in a 1-exc `ExceptionGroup` instead of collapsing to the bare exc, so it skips the `except error_parent` arm and lands in the group arm — where `is_multi_cancelled()` is (correctly) `False`, tripping the assert. Also accept `beg.subgroup(error_parent) is not None`. Review: PR #465 (copilot + self CI-triage) https://github.com/goodboy/tractor/pull/465#pullrequestreview-4548191641 (this patch was generated in some part by [`claude-code`][claude-code-gh]) [claude-code-gh]: https://github.com/anthropics/claude-code
parent
645e9d6326
commit
8142fec545
|
|
@ -263,9 +263,18 @@ def test_simple_context(
|
|||
except error_parent:
|
||||
pass
|
||||
except BaseExceptionGroup as beg:
|
||||
# XXX: on windows it seems we may have to expect the group error
|
||||
# XXX: on windows — and under `trio>=0.33`'s strict
|
||||
# exception-groups, where a lone `error_parent` now
|
||||
# arrives wrapped in a 1-exc `ExceptionGroup` rather than
|
||||
# collapsed to the bare exc — accept either the
|
||||
# `error_parent` nested in the group OR a cancel-only
|
||||
# (multi-cancelled) group.
|
||||
from tractor.trionics import is_multi_cancelled
|
||||
assert is_multi_cancelled(beg)
|
||||
assert (
|
||||
is_multi_cancelled(beg)
|
||||
or
|
||||
beg.subgroup(error_parent) is not None
|
||||
)
|
||||
else:
|
||||
trio.run(main)
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue