Tyler Goodlet
808d7ae2c6
Add timeout guard around caller side context open
2022-08-02 12:17:28 -04:00
Tyler Goodlet
4779badd96
Add before assert helper and print console bytes on fail
2022-08-02 12:17:28 -04:00
Tyler Goodlet
6bdcbdb96f
Do child decode on `do_ctlc` exit?
2022-08-02 12:17:28 -04:00
Tyler Goodlet
adbebd3f06
Add ctl-c to remaining tests, only expect prompt in non-CI
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a2e90194bc
Add ctl-c case to `subactor_breakpoint` example test
2022-08-02 12:17:28 -04:00
Tyler Goodlet
617d57dc35
Disable ctl-c prompt checks again
2022-08-02 12:17:28 -04:00
Tyler Goodlet
dadd5e6148
Add back prompt expect via flag
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a72350118c
Test: drop expect prompt
2022-08-02 12:17:28 -04:00
Tyler Goodlet
70ad0f6b8e
Add longer delays around ctl-c loop, don't expect longlist
2022-08-02 12:17:28 -04:00
Tyler Goodlet
56b30a9a53
Add sleep around ctl-c iteration loop
2022-08-02 12:17:27 -04:00
Tyler Goodlet
64909e676e
Fix loglevel in subactor test; actually pass the level XD
2022-08-02 12:17:27 -04:00
Tyler Goodlet
bd7d507153
Guard against `asyncio` cancelled logged to console
2022-08-02 12:17:16 -04:00
Tyler Goodlet
9bc38cbf04
Add slight delay 2nd ctlc round..
2022-08-02 12:17:06 -04:00
Tyler Goodlet
439d320a25
Add basic ctl-c testing cases to suite
2022-08-02 12:16:58 -04:00
Tyler Goodlet
2a61aa099b
Move pydantic-click hang example to new dir, skip in test suite
2022-08-02 12:16:58 -04:00
Tyler Goodlet
05790a20c1
Slight lint fixes
2022-07-15 11:18:48 -04:00
Tyler Goodlet
ce01f6b21c
Increase timeout for CI/windows
2022-07-14 20:44:10 -04:00
Tyler Goodlet
38d03858d7
Fix `asyncio`-task-sync and error propagation
...
This fixes an previously undetected bug where if an
`.open_channel_from()` spawned task errored the error would not be
propagated to the `trio` side and instead would fail silently with
a console log error. What was most odd is that it only seems easy to
trigger when you put a slight task sleep before the error is raised
(:eyeroll:). This patch adds a few things to address this and just in
general improve iter-task lifetime syncing:
- add `LinkedTaskChannel._trio_exited: bool` a flag set from the `trio`
side when the channel block exits.
- add a `wait_on_aio_task: bool` flag to `translate_aio_errors` which
toggles whether to wait the `asyncio` task termination event on exit.
- cancel the `asyncio` task if the trio side has ended, when
`._trio_exited == True`.
- always close the `trio` mem channel when the task exits such that
the `asyncio` side can error on any next `.send()` call.
2022-07-14 16:35:41 -04:00
Tyler Goodlet
98de2fab31
Add context test that opens an inter-task-channel that errors
2022-07-14 16:13:12 -04:00
Tyler Goodlet
1c63bb6130
Sort fan out results before comparison in test
2022-04-12 19:49:36 -04:00
Tyler Goodlet
9c27858aaf
WIP prints to debug frickin windows
2022-04-12 16:48:50 -04:00
Tyler Goodlet
fa354ffe2b
Handle not all values pulled case
2022-04-12 15:51:06 -04:00
Tyler Goodlet
333fad8819
Facepalm: join nursery first to avoid channel-closed-too-early
2022-04-12 15:06:35 -04:00
Tyler Goodlet
90593611bb
Add test for `LinkedTaskChannel.subscribe()` fanout feature
2022-04-12 15:06:35 -04:00
Tyler Goodlet
9c43bb28f1
Add a new "trioisms" test mod for tracking `trio` wishlist behaviour
2022-04-12 13:05:56 -04:00
Tyler Goodlet
e45251db56
Simplify to form submitted to njs
2022-04-12 13:05:26 -04:00
Tyler Goodlet
faf751acac
WIP reproduce deadlock issue during error from piker
2022-04-12 13:04:46 -04:00
Tyler Goodlet
13c8300226
Add a sub-actor managed service nursery test scenario
2022-04-12 11:42:44 -04:00
Tyler Goodlet
c5acc3b969
Pack tuple keys as . delim strs in registry tests
2022-02-15 08:48:07 -05:00
Tyler Goodlet
ffe88de53b
Better idea: start a `tractor.experimental` subpkg
2022-01-29 14:03:55 -05:00
Tyler Goodlet
9ab04b1f6b
One more increase for py3.10
2022-01-21 12:20:06 -05:00
Tyler Goodlet
b3ff4b7804
Increase some timeouts for windows
2022-01-21 12:20:06 -05:00
Tyler Goodlet
d65912e1ae
Increase kbi delay in remote cancel test
2021-12-17 09:38:04 -05:00
Tyler Goodlet
9a2de90de6
Add mid stream echoserver "bail" cases
2021-12-17 09:38:04 -05:00
Tyler Goodlet
2b9b29eb71
Add an asyncio echo server test
2021-12-17 09:38:04 -05:00
Tyler Goodlet
c4b3bb354e
Port tests to handle our new `asyncio` cancelled type
2021-12-17 09:38:04 -05:00
Tyler Goodlet
ad2567dd73
Add first set of interloop streaming tests
2021-12-17 09:38:04 -05:00
Tyler Goodlet
d27ddb7bbb
Add a basic `open_channel_from()` streaming test
2021-12-17 09:38:04 -05:00
Tyler Goodlet
e815f766f6
Add a cancelled-from-remote-trio-task case
2021-12-17 09:38:04 -05:00
Tyler Goodlet
c19123b588
Add trio-cancels-anursery-cancels-aio test
2021-12-17 09:38:04 -05:00
Tyler Goodlet
04c0eda69d
Add an `asyncio`-internal cancel test
...
Verify that if the `asyncio` side task cancels (itself) that we raise
that `asyncio.CancelledError` on the `trio` side. In the case where
`trio` initiated the cancel whether or not the `asyncio` side ended up
raising `CancelledError` doesn't really matter to us as long as the far
task did indeed terminate.
2021-12-17 09:38:04 -05:00
Tyler Goodlet
56357242e9
Add a `Portal.cancel_actor()` test
2021-12-17 09:38:04 -05:00
Tyler Goodlet
299e4192b0
Plan asyncio test set
2021-12-17 09:38:04 -05:00
Tyler Goodlet
340effae11
Add initial infected asyncio error propagation test
2021-12-17 09:38:01 -05:00
Tyler Goodlet
916e27eedc
Adjust cancelled test to expect raised overrun error
2021-12-16 19:59:10 -05:00
Tyler Goodlet
9650b010de
Add a test for the real issue: error overriding
...
The underlying issue is actually that a nested `Context` which was
cancelled was overriding the local error that triggered that secondary's
context's cancellation in the first place XD. This test catches that
case.
Relates to https://github.com/pikers/piker/issues/244
2021-12-16 19:59:10 -05:00
Tyler Goodlet
c38d0f826e
Add an unserializable value causes error before started test
2021-12-16 19:59:10 -05:00
Tyler Goodlet
21a9c47496
Parameterize over cache keying methods: kwargs and "key"
2021-12-16 18:02:03 -05:00
Tyler Goodlet
67dc0d014c
Add basic `maybe_open_context()` caching test
2021-12-16 18:02:03 -05:00
Tyler Goodlet
9b1d8bf7b0
Of course, increase the timeout for windows..
2021-12-16 18:02:03 -05:00