ward
ward copied to clipboard
[Feature request] Support Curio, trio or other async libraries
Would you be willing to add support for Curio and/or Trio? I would submit a PR myself but I see in https://github.com/darrenburns/ward/blob/master/ward/testing.py#L200 that asyncio.run(coro)
is hardcoded and I'm not sure how you would go about to make that configurable. If you could check on the user supplied config before calling asyncio.run(coro)
you could do something like:
if self.is_async_test:
coro = self.fn(**resolved_args)
if config.asynclib == 'curio':
import curio
curio.run(coro)
elif config.asynclib == 'trio':
import trio
trio.run(coro)
else:
asyncio.run(coro)
else:
self.fn(**resolved_args)
I took a stab at it myself: https://github.com/darrenburns/ward/pull/357