Tyler Goodlet
efb8bec828
Add a basic no-raise-on lag test
2023-01-30 12:26:07 -05:00
Tyler Goodlet
c8efcdd0d3
Drop `ReceiveMsgStream` from test suite
2023-01-29 15:03:34 -05:00
Tyler Goodlet
af6c325072
Bump up legacy streaming timeout a smidgen
2023-01-29 14:55:02 -05:00
Tyler Goodlet
3967c0ed9e
Add a simplified zombie lord specific process reaping test
2023-01-29 14:55:02 -05:00
Tyler Goodlet
e34823aab4
Add parent vs. child cancels first cases
2023-01-29 14:55:02 -05:00
Tyler Goodlet
6c35ba2cb6
Add IPC breakage on both parent and child side
...
With the new fancy `_pytest.pathlib.import_path()` we can do real
parametrization of the example-script-module code and thus configure
whether the child, parent, or both silently break the IPC connection.
Parametrize the test for all the above mentioned cases as well as the
case where the IPC never breaks but we still simulate the user hammering
ctl-c / SIGINT to terminate the actor tree. Adjust expected errors based
on each case and heavily document each of these.
2023-01-29 14:55:02 -05:00
Tyler Goodlet
3a0817ff55
Skip `advanced_faults/` subset in docs examples tests
2023-01-29 14:55:02 -05:00
Tyler Goodlet
7fddb4416b
Handle `mp` spawn method cases in test suite
2023-01-29 14:55:02 -05:00
Tyler Goodlet
1d92f2552a
Adjust other examples tests to expect `pathlib` objects
2023-01-29 14:55:02 -05:00
Tyler Goodlet
4f8586a928
Wrap ex in new test, change dir helpers to use `pathlib.Path`
2023-01-29 14:55:02 -05:00
Tyler Goodlet
7394a187e0
Name one-way streaming (con generators) what it is
2023-01-29 14:55:02 -05:00
Tyler Goodlet
606efa5bb7
Adjust daemon command to use new `registry_addr`
2023-01-26 16:00:08 -05:00
Tyler Goodlet
6d124db7c9
Never run ctlc-with-intermediary-actor cases locally either
2023-01-26 12:44:13 -05:00
Tyler Goodlet
48f6d514ef
Handle earlier name error crash in debug test
2022-12-12 14:05:32 -05:00
Tyler Goodlet
d8e48e29ba
Add `mngrs=(<gen_comprehension>)` test
2022-12-11 19:56:01 -05:00
Tyler Goodlet
c47575997a
Expand nested case to include error prop and breakpointing
2022-10-14 19:42:23 -04:00
Tyler Goodlet
0a1bf8e57d
Tolerate eg in runtime test teardown
2022-10-14 19:42:23 -04:00
Tyler Goodlet
c0dd5d7ffc
Adjust multi-daemon test to be more deterministic
2022-10-14 19:42:23 -04:00
Tyler Goodlet
347591c348
Expect egs in tests which retreive portal results
2022-10-14 19:42:23 -04:00
Tyler Goodlet
c646c79a82
Adjust root-errors debug tests for blocking and egs
2022-10-14 18:18:01 -04:00
Tyler Goodlet
0f523b65fb
Change cancel test over the exception group
2022-10-14 18:16:51 -04:00
Tyler Goodlet
b15e4ed9ce
Adjust "no arbiter" test for new runtime defaults
...
Turns out this test was being silently ignored due to incorrect usage of
sync opening of our `.open_nursery()` block (with a `with` not `async
with`) and thus was an noop XD
Instead this fixes the test to call a `tractor` discovery built-in
without starting the runtime (which is now done implicitly when a user
opens a nursery) which should result in the prior expected outcome,
a `RuntimeError`.
2022-10-12 12:46:20 -04:00
Tyler Goodlet
30ea7a06b0
Avoid inf nursery hang by reversing `async with` ordering
2022-10-11 20:00:05 -04:00
Tyler Goodlet
3398153c52
Add timeout around `trio`-callee-task
2022-10-11 20:00:05 -04:00
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
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
Tyler Goodlet
f617da6ff1
Add timeout around test and prints for guidance
2021-12-16 18:02:03 -05:00
Tyler Goodlet
4a0252baf2
Add task-cached stream test
2021-12-16 18:02:03 -05:00
Tyler Goodlet
1652716574
Add timeout to streaming test
2021-12-16 16:19:09 -05:00
Tyler Goodlet
79d63585b0
Add a multi-task fan out streaming test
...
This actually catches a lot of bugs to do with stream termination and
``MsgStream.subscribe()`` usage where the underlying stream closes from
the producer side. When this passes the broadcaster logic will have to
ensure non-lossy fan out semantics and closure tracking.
2021-12-16 16:16:23 -05:00
Tyler Goodlet
a38a983225
Increase debugger poll delay back to prior value
...
If we make it too fast a nursery with debug mode children can cancel
too fast and causes some test failures. It's likely not a huge deal
anyway since the purpose of this poll/check is for human interaction
and the current delay isn't really that noticeable.
Decrease log levels in the debug module to avoid console noise when in
use. Toss in some more detailed comments around the new debugger lock
points.
2021-12-10 11:54:27 -05:00
Tyler Goodlet
4f411d6926
Add a per actor debug mode test
2021-12-09 17:53:31 -05:00
Tyler Goodlet
95c52436e5
Adjust multi-actor debugger test
...
It turns out recent improvements have made the debugger too good
so we need to just terminate the continue loop in this test when
we finally see the "spawn error" crash out because the breakpoint
forever case will literally, continue forever XD
2021-12-07 16:46:03 -05:00
Tyler Goodlet
e51c0e17a2
Properly set console logging in test suite
2021-12-07 13:17:10 -05:00
Tyler Goodlet
205e254072
Make test suite use default log level
2021-12-07 13:13:40 -05:00
Tyler Goodlet
703dee8a59
Add stream open before started, detailed semantics comment
2021-12-07 09:48:35 -05:00
Tyler Goodlet
df59071747
Bleh cast to list for `msgpack`
2021-12-06 18:07:14 -05:00
Tyler Goodlet
efba5229fc
Move context-streaming operational tests into one mod
2021-12-06 16:45:44 -05:00
Tyler Goodlet
fd6f4574ce
Rename test mod
2021-12-06 16:38:27 -05:00
Tyler Goodlet
52a2b7a5ed
Bump windows timeout again
2021-12-06 16:32:23 -05:00
Tyler Goodlet
63ecae70c4
Add a basic no-errors-when-backpressure stream test
2021-12-06 16:32:23 -05:00
Tyler Goodlet
a79cdc7b44
Make cancel case expect multi-error
2021-12-06 16:32:23 -05:00
Tyler Goodlet
58805a0430
Slight delay to avoid flaky bcast race
2021-12-06 12:17:37 -05:00
Tyler Goodlet
142083d81b
Don't cancel the context on overrun cases
2021-12-06 11:54:21 -05:00
Tyler Goodlet
f3432bd8fb
Enable bp on clustering test
2021-12-05 20:02:55 -05:00
Tyler Goodlet
7b9d410c4d
Adjust remaining examples and tests for non-backpressure default
2021-12-05 19:52:09 -05:00
Tyler Goodlet
2b05ffcc23
Add context stream overrun tests
2021-12-05 19:50:39 -05:00
Tyler Goodlet
872b24aedd
Prove we've fixed #265
2021-12-03 14:49:55 -05:00
Tyler Goodlet
3f6099f161
Add a double started error checking test
2021-12-03 10:08:55 -05:00
Tyler Goodlet
568902a5a9
Add test for #265 : "msg sent before stream opened"
...
This always triggered the mentioned race condition.
We need to figure out the best approach to avoid this case.
2021-12-03 10:08:55 -05:00
Tyler Goodlet
a29924f330
Don't assume exception order from nursery
2021-12-02 08:45:58 -05:00
Tyler Goodlet
16a3321a38
Increase timeout for windows..
2021-11-29 21:52:30 -05:00
Tyler Goodlet
121f7fd844
Draft test that shows a slow daemon cancellation
...
Currently if the spawn task is waiting on a daemon actor it is likely in
`await proc.wait()`, however, if the actor nursery is subsequently
cancelled this checkpoint will be abandoned and the hard proc reaping
sequence will execute which results in a up to 3 second wait before
a "hard" system signal is sent to the child. Ideally such
a cancelled-during-daemon-actor-wait condition is instead handled by
first trying to cancel the remote actor using `Portal.cancel_actor()` (a
"graceful" remote cancel request) which should (presuming normal runtime
operation) result in an immediate collection of the process after normal
actor (remotely triggered) runtime cancellation.
2021-11-29 16:03:14 -05:00
Tyler Goodlet
57e98b25e7
Increase timeout, windows...
2021-11-20 13:08:19 -05:00
Tyler Goodlet
f32ccd76aa
Add `Portal.result()` is None test case
...
This demonstrates a bug where if the remote `.run_in_actor()` task
returns `None` then multiple calls to `Portal.result()` will hang
forever...
2021-11-20 13:02:08 -05:00
Tyler Goodlet
d0f5c7a5e2
Change to `gather_contexts()`, use event for graceful exit
...
The api we've made here is actually closer to `asyncio.gather()` but
with opening async context managers instead of funcs. Use another event
to allow for graceful teardown of children on non-cancellation exits
and add a doc string.
2021-10-24 14:00:01 -04:00
overclockworked64
b91adcf38d
Get rid of external teardown trigger
2021-10-23 16:17:30 -04:00
overclockworked64
c1089dbd95
Add a clustering test
2021-10-23 16:17:30 -04:00
Tyler Goodlet
4114eb1d25
Move broadcast channel parts into trionics
2021-10-23 15:54:40 -04:00
Tyler Goodlet
4f222a5f9c
Use type match of expected error
2021-10-15 10:25:50 -04:00
Tyler Goodlet
533457c64d
Handle nested multierror case on windows
2021-10-15 09:16:51 -04:00
Tyler Goodlet
7ee121aeaf
Try to handle variable windows errors
2021-10-14 13:39:46 -04:00
Tyler Goodlet
b14699d40b
Adjust debugger tests to expect depth > 1 crashes
...
With the new fixes to the trio spawner we can expect that both root
*and* depth > 1 nursery owning actors will now not clobber any children
that are in debug (either via breakpoint or through crashing). The tests
changed now include more checks which ensure the 2nd level parent-ish
actors also bubble up through into `pdb` and don't kill any of their
(crashed) children before they're done themselves debugging.
2021-10-14 13:39:46 -04:00
Tyler Goodlet
2df16c1557
Lol, fix sub-actor case
2021-10-14 13:39:46 -04:00
Tyler Goodlet
5b23a3bc35
Don't expect list value from registry
2021-10-05 13:37:17 -04:00
Tyler Goodlet
19d6885243
Ensure tuple for passed in arbiter addr
2021-10-05 13:37:17 -04:00
Tyler Goodlet
93726f1392
Call registry getter method in test
2021-10-05 13:37:17 -04:00
Tyler Goodlet
4f831abe25
Hipshot, try to avoid subs teardown race
2021-10-05 12:19:24 -04:00
Tyler Goodlet
b1235442fb
Add longer timeout on windows
2021-10-04 12:10:39 -04:00
Tyler Goodlet
d734dcede4
Accept a multierror on cancellation (windows?)
2021-10-04 11:43:50 -04:00
Tyler Goodlet
8d79d83ac2
Ensure kbi will cancel context block
...
Follow up to previous commit: extend our simple context test set to
include cancellation via kbi in the parent as well as timeout logic and
testing of the parent opening a stream even though the target actor does
not.
Thanks again to https://github.com/adder46/wrath for discovering this
bug.
2021-10-04 10:38:26 -04:00
Tyler Goodlet
c1727ce05e
Add a test of both stream styles side-by-side
...
Not sure we even have a test for this yet. The main issue discovered by
a user project (https://github.com/adder46/wrath ) was that a kbi raised
inside a block like this (with both recv-only and send-recv streams)
would not cancel on the first ctrl-c sent from console and instead
SIGiNT had to be repeatedly sent as many times as there are subactors in
the first level tree. This test catches that as well as just verifies
the basic side-by-side functionality.
2021-10-04 10:38:22 -04:00
Tyler Goodlet
5881a82d2a
Add a first receiver is cancelled test
2021-09-02 21:12:54 -04:00
Tyler Goodlet
b7b489dd07
Drop shielded stream api usage
2021-09-02 21:12:54 -04:00
Tyler Goodlet
5c6355062c
Shorten sequence length for test speedup
2021-09-02 21:12:54 -04:00
Tyler Goodlet
d9e793d4ba
Can't use built-in generics till 3.9...
2021-09-02 21:12:54 -04:00
Tyler Goodlet
5182ee7782
Add a "faster task is cancelled" test
2021-09-02 21:12:54 -04:00
Tyler Goodlet
39cf9af9fc
Rename test module
2021-09-02 21:12:54 -04:00
Tyler Goodlet
0d70e3081a
Add laggy parent stream tests
...
Add a couple more tests to check that a parent and sub-task stream can
be lagged and recovered (depending on who's slower). Factor some of the
test machinery into a new ctx mngr to make it all happen.
2021-09-02 21:12:54 -04:00
Tyler Goodlet
d7ad8982ff
Add subscribe after close test
2021-09-02 21:12:54 -04:00
Tyler Goodlet
2bad2bac50
Don't enable debug mode..it borks CI
2021-09-02 21:12:54 -04:00
Tyler Goodlet
236ed0b0dd
Initial broadcaster tests including one to test our `MsgStream.subscribe()` api
2021-09-02 21:12:54 -04:00
Tyler Goodlet
af85d35685
Drop stream shielding; it was from a legacy design
...
The whole origin was not having an explicit open/close semantic for
streams. We have that now so this internal mechanic isn't needed and
further our streams become more correct by having `.aclose()` be
independent of cancellation.
2021-09-02 08:24:18 -04:00
Tyler Goodlet
c5c7e694ec
Better early timeout handling, continue on child re-lock
2021-08-01 13:10:51 -04:00
Tyler Goodlet
674fbbc6b3
Docs and comments tidying
2021-08-01 10:44:13 -04:00
Tyler Goodlet
f173012fea
Handle repeat child tty-acquires race
2021-07-31 15:01:26 -04:00
Tyler Goodlet
13b76c9439
Add fast fail test using the context api
2021-07-31 12:46:40 -04:00
Tyler Goodlet
632c666a7d
Adjust debug tests to accomodate no more root clobbering
...
We may get multiple re-entries to debugger by `bp_forever` sub-actor
now since the root will incrementally try to cancel it only when the tty
lock is not held.
2021-07-31 12:46:40 -04:00
Tyler Goodlet
240f591234
Add 2-way streaming example to readme and scripts
2021-07-31 12:10:25 -04:00
Tyler Goodlet
929b6dcc83
Skip debugger tests on windows at module level
2021-07-06 13:26:30 -04:00
Tyler Goodlet
a134bc490f
Avoid mutate during interate error
2021-07-06 08:23:30 -04:00
Tyler Goodlet
0623de0b47
Expect context cancelled when we cancel
2021-07-06 08:23:30 -04:00
Tyler Goodlet
8eb889a745
Modernize streaming tests
2021-07-06 08:23:29 -04:00
Tyler Goodlet
349d82d182
Speedup the dynamic pubsub test
2021-07-06 08:23:29 -04:00
Tyler Goodlet
7c5fd8ce9f
Add detailed ``@tractor.context`` cancellation/termination tests
2021-07-06 08:23:29 -04:00
Tyler Goodlet
3999849b03
Add a multi-task streaming test
2021-07-06 08:23:29 -04:00
Tyler Goodlet
5b8b7d374a
Add error case
2021-07-06 08:23:29 -04:00
Tyler Goodlet
e5bc07f355
Add dynamic pubsub test using new bidir stream apis
2021-07-06 08:23:29 -04:00
Tyler Goodlet
98133a984e
Parametrize with async for style tests
2021-07-06 08:23:29 -04:00
Tyler Goodlet
4240efc7e3
Add basic test set
2021-07-06 08:23:29 -04:00
Tyler Goodlet
4846c6d498
Cancel scope on stream consumer completion
2021-07-06 08:23:29 -04:00
Tyler Goodlet
55760b3fe0
Only expect further message in non-name-error first case
2021-07-04 12:55:36 -04:00
Tyler Goodlet
9c9309faf8
Handle race for tty by child actors
2021-07-04 10:25:41 -04:00
Tyler Goodlet
b372f4c92b
Handle top level multierror that presents now?
2021-07-02 11:55:16 -04:00
Tyler Goodlet
2b4cf59ee1
Drop sleep
2021-05-07 11:21:40 -04:00
Tyler Goodlet
5ca963148e
Disable leftover debug mode
2021-05-07 11:21:40 -04:00
Tyler Goodlet
4798d3b5db
Drop lingering rpc_module_paths refs
2021-05-07 11:21:40 -04:00
Tyler Goodlet
247483ee93
Drop run and rpc_module_paths from streaming tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
9e64161538
Drop run and rpc_module_paths from rpc tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
3bddf9a94b
Drop run and rpc_module_paths from spawning tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
1eedd463cb
Drop run and rpc_module_paths from pubsub tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
b46e60ab9d
Drop run from multi prog tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
cb527c2562
Mostly drop run from local tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
1584c547cd
Drop run and rpc_module_paths from discovery tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
2efd8ed167
Drop run and rpc_module_paths from cancel tests
2021-05-07 11:21:40 -04:00
Tyler Goodlet
b1f657e246
De-compact async with tuple on 3.8-
...
Turns out can't use the nicer syntax before python 3.9 (even though it
doesn't seem documented anywhere?).
Relates to #207
2021-04-28 16:35:15 -04:00
Tyler Goodlet
2498a4963b
Update all tests to new streaming API
2021-04-28 12:23:14 -04:00
Tyler Goodlet
1f1619c730
Convert all test suite sync funcs
2021-04-27 12:08:30 -04:00
Tyler Goodlet
47565cfbf3
Use root as default name from `tractor.run()`
2021-02-25 08:51:28 -05:00
Tyler Goodlet
cd636b270e
Update debug tests to expect 'root' actor name
2021-02-24 13:38:20 -05:00
Tyler Goodlet
8fabd27dbe
Lint fixes
2021-02-24 13:13:51 -05:00
Tyler Goodlet
a93321e48e
Don't run stdlib example as part of test set
2021-02-21 15:41:21 -05:00
Tyler Goodlet
07653bc02e
Run parallel examples
2021-02-21 14:08:23 -05:00
Tyler Goodlet
59421d9f3a
Fix some borked tests
2021-01-08 20:55:11 -05:00
Tyler Goodlet
5127effd88
Drop warning level logging assert(s)
2020-12-26 15:45:55 -05:00
Tyler Goodlet
4bf9b27f57
Drop all .statespace refs; it was a silly idea
2020-12-22 19:33:16 -05:00
Tyler Goodlet
0eba5f4708
Port remaining tests to pass func refs
2020-12-22 10:39:47 -05:00