Tyler Goodlet
0b4fc4fc47
Use `assert_before` more extensively
2022-07-29 19:56:11 -04:00
Tyler Goodlet
6b8c193221
Add another name hack for CI race conditions..
2022-07-29 18:57:44 -04:00
Tyler Goodlet
05167bdc70
Try less times for EOF
2022-07-29 17:51:33 -04:00
Tyler Goodlet
4366873582
Handle missing prompt render case?
2022-07-29 15:59:10 -04:00
Tyler Goodlet
0ab49cd244
Disable `pygments` highlighting on ctlc tests
2022-07-29 13:00:06 -04:00
Tyler Goodlet
3fafa87ea9
Avoid infinite wait for EOF
2022-07-29 12:20:56 -04:00
Tyler Goodlet
a6f5b9396a
Use `pytest-timeout` plug to try and prevent CI hang
2022-07-29 11:11:54 -04:00
Tyler Goodlet
61af2dc5aa
Add timeout on spawn error msg check
2022-07-29 09:31:11 -04:00
Tyler Goodlet
3bc4778950
Drop ctlc tests on Py3.9...
...
After many tries I just don't think it's worth it to make the tests work
since the repl UX in `pdbpp` is so unreliable in the latest release and
honestly we're trying to go 3.10+ ASAP.
Further,
- entirely drop the pattern matching inside the `do_ctlc()` for now.
- add a `subactor_error` parametrization that catches a case that
previously caused a hang (when you use 'next' immediately after the
first crash/debug lock (the fix was pushed just before this commit).
2022-07-28 14:24:51 -04:00
Tyler Goodlet
58956ae950
Try disabling prompt expect in ctrlc cases
2022-07-28 09:00:41 -04:00
Tyler Goodlet
a864f1e729
Add timeout guard around caller side context open
2022-07-27 15:13:27 -04:00
Tyler Goodlet
c132b7f624
Add before assert helper and print console bytes on fail
2022-07-27 11:40:03 -04:00
Tyler Goodlet
b659326d5b
Do child decode on `do_ctlc` exit?
2022-07-27 11:40:03 -04:00
Tyler Goodlet
d971e9bc9d
Add ctl-c to remaining tests, only expect prompt in non-CI
2022-07-27 11:40:03 -04:00
Tyler Goodlet
611120c67c
Add ctl-c case to `subactor_breakpoint` example test
2022-07-27 11:40:03 -04:00
Tyler Goodlet
fe4adbf6f0
Disable ctl-c prompt checks again
2022-07-27 11:40:03 -04:00
Tyler Goodlet
6ccfeb17d5
Add back prompt expect via flag
2022-07-27 11:40:03 -04:00
Tyler Goodlet
9bed332a94
Test: drop expect prompt
2022-07-27 11:40:03 -04:00
Tyler Goodlet
e519df1bd2
Add longer delays around ctl-c loop, don't expect longlist
2022-07-27 11:40:02 -04:00
Tyler Goodlet
24fd87d969
Add sleep around ctl-c iteration loop
2022-07-27 11:40:02 -04:00
Tyler Goodlet
e1caeeb8de
Fix loglevel in subactor test; actually pass the level XD
2022-07-27 11:40:02 -04:00
Tyler Goodlet
3b7985292f
TOSQUASH: add note around delay
2022-07-27 11:40:02 -04:00
Tyler Goodlet
b2fdbc44d1
Guard against asyncio canclled logged to console
2022-07-27 11:40:02 -04:00
Tyler Goodlet
f7823a46b8
Add slight delay 2nd ctlc round..
2022-07-27 11:40:02 -04:00
Tyler Goodlet
24b6cc0209
Add basic ctl-c testing cases to suite
2022-07-27 11:40:02 -04:00
Tyler Goodlet
4594fe3501
Move pydantic-click hang example to new dir, skip in test suite
2022-07-27 11:40:02 -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