Tyler Goodlet
93b9d2dc2d
Drop dynamic backend-spawn-method test generation
2022-10-09 18:29:50 -04:00
Tyler Goodlet
4d808757a6
Fix start method name in logging propagation test
2022-10-09 18:22:55 -04:00
Tyler Goodlet
2c20b2d64f
Fix import to load from `conftest.py`
2022-10-09 18:03:17 -04:00
Tyler Goodlet
d24fae8381
'Rename mp spawn methods to have a `'mp_'` prefix'
2022-10-09 17:54:55 -04:00
Tyler Goodlet
5ab98513b7
Move `@tractor_test` into `conftest.py`
2022-10-09 17:14:20 -04:00
Tyler Goodlet
e609183242
Expose lifetime stack as class attr, add base test suite
2022-09-15 23:50:15 -04:00
Tyler Goodlet
10eeda2d2b
Use built-ins for all data-structure-type annotations
2022-09-15 23:41:28 -04:00
Tyler Goodlet
ad19bf2cf1
Remove `tractor.run()` once and for all
...
It's been deprecated for a while now and all docs and tests have been
changed.
Closes #183
2022-09-15 23:41:28 -04:00
Tyler Goodlet
ba4d4e9af3
Change test import
2022-09-15 23:41:28 -04:00
Tyler Goodlet
2d387f2610
Add in issue link for nested cases
2022-08-02 12:17:34 -04:00
Tyler Goodlet
8115759984
Mark final nested-actor debugger test
2022-08-02 12:17:34 -04:00
Tyler Goodlet
fa4388835c
Add an expect wrapper, use in hanging CI test
2022-08-02 12:17:34 -04:00
Tyler Goodlet
54de72d8df
Loosen timeout on nested child re-locking
2022-08-02 12:17:34 -04:00
Tyler Goodlet
e4771eec16
Go back to skipping since xfail is wack
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a9aaee9dbd
Use xfails for nested cases, revert prompt expect
2022-08-02 12:17:28 -04:00
Tyler Goodlet
aca9a6b99a
Try just skipping nested actor tests in CI
2022-08-02 12:17:28 -04:00
Tyler Goodlet
8896ba2bf8
Use `assert_before` more extensively
2022-08-02 12:17:28 -04:00
Tyler Goodlet
87b2ccb86a
Try less times for EOF
2022-08-02 12:17:28 -04:00
Tyler Goodlet
08cf03cd9e
Handle missing prompt render case?
2022-08-02 12:17:28 -04:00
Tyler Goodlet
6f01c78122
Disable `pygments` highlighting on ctlc tests
2022-08-02 12:17:28 -04:00
Tyler Goodlet
457499bc2e
Avoid infinite wait for EOF
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a4bac135d9
Use `pytest-timeout` plug to try and prevent CI hang
2022-08-02 12:17:28 -04:00
Tyler Goodlet
20c660faa7
Add timeout on spawn error msg check
2022-08-02 12:17:28 -04:00
Tyler Goodlet
a4538a3d84
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-08-02 12:17:28 -04:00
Tyler Goodlet
cb0c47c42a
Try disabling prompt expect in ctrlc cases
2022-08-02 12:17:28 -04:00
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