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
2d0955968c
commit
beca584d45
|
|
@ -263,9 +263,18 @@ def test_simple_context(
|
||||||
except error_parent:
|
except error_parent:
|
||||||
pass
|
pass
|
||||||
except BaseExceptionGroup as beg:
|
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
|
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:
|
else:
|
||||||
trio.run(main)
|
trio.run(main)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue