forked from goodboy/tractor
1
0
Fork 0

Port tests to handle our new `asyncio` cancelled type

infect_asyncio
Tyler Goodlet 2021-11-24 12:13:02 -05:00
parent 6803891bd7
commit c4b3bb354e
1 changed files with 10 additions and 10 deletions

View File

@ -1,5 +1,5 @@
'''
The most hipster way to force SC onto the stdlib's "async".
The hipster way to force SC onto the stdlib's "async": 'infection mode'.
'''
from typing import Optional, Iterable
@ -74,7 +74,7 @@ async def asyncio_actor(
if expect_err:
assert isinstance(err, error_type)
raise err
raise
def test_aio_simple_error(arb_addr):
@ -134,7 +134,7 @@ def test_trio_cancels_aio(arb_addr):
# cancel the nursery shortly after boot
async with tractor.open_nursery() as n:
portal = await n.run_in_actor(
await n.run_in_actor(
asyncio_actor,
target='sleep_forever',
expect_err='trio.Cancelled',
@ -144,9 +144,9 @@ def test_trio_cancels_aio(arb_addr):
trio.run(main)
async def aio_cancel():
''''Cancel urself boi.
''''
Cancel urself boi.
'''
await asyncio.sleep(0.5)
@ -164,16 +164,16 @@ def test_aio_cancelled_from_aio_causes_trio_cancelled(arb_addr):
portal = await n.run_in_actor(
asyncio_actor,
target='aio_cancel',
expect_err='asyncio.CancelledError',
expect_err='tractor.to_asyncio.AsyncioCancelled',
infect_asyncio=True,
)
# with trio.CancelScope(shield=True):
await portal.result()
with pytest.raises(RemoteActorError) as excinfo:
trio.run(main)
# ensure boxed error is correct
assert excinfo.value.type == to_asyncio.AsyncioCancelled
# TODO: verify open_channel_from will fail on this..
async def no_to_trio_in_args():
@ -201,7 +201,7 @@ async def push_from_aio_task(
if i == 50 and fail_early:
raise Exception
print(f'asyncio streamer complete!')
print('asyncio streamer complete!')
except asyncio.CancelledError:
if not expect_cancel: