Add support for __await__, __aiter__, and __anext__ protocols (#1842)

This commit is contained in:
Jeremy Maitin-Shepard
2019-07-18 00:02:35 -07:00
committed by Wenzel Jakob
parent 9b3fb05326
commit a3f4a0e8ab
5 changed files with 65 additions and 0 deletions

23
tests/test_async.py Normal file
View File

@@ -0,0 +1,23 @@
import asyncio
import pytest
from pybind11_tests import async_module as m
@pytest.fixture
def event_loop():
loop = asyncio.new_event_loop()
yield loop
loop.close()
async def get_await_result(x):
return await x
def test_await(event_loop):
assert 5 == event_loop.run_until_complete(get_await_result(m.SupportsAsync()))
def test_await_missing(event_loop):
with pytest.raises(TypeError):
event_loop.run_until_complete(get_await_result(m.DoesNotSupportAsync()))