test_async.py revision 14299
114299Sbbruce@ucdavis.eduimport asyncio 214299Sbbruce@ucdavis.eduimport pytest 314299Sbbruce@ucdavis.edufrom pybind11_tests import async_module as m 414299Sbbruce@ucdavis.edu 514299Sbbruce@ucdavis.edu 614299Sbbruce@ucdavis.edu@pytest.fixture 714299Sbbruce@ucdavis.edudef event_loop(): 814299Sbbruce@ucdavis.edu loop = asyncio.new_event_loop() 914299Sbbruce@ucdavis.edu yield loop 1014299Sbbruce@ucdavis.edu loop.close() 1114299Sbbruce@ucdavis.edu 1214299Sbbruce@ucdavis.edu 1314299Sbbruce@ucdavis.eduasync def get_await_result(x): 1414299Sbbruce@ucdavis.edu return await x 1514299Sbbruce@ucdavis.edu 1614299Sbbruce@ucdavis.edu 1714299Sbbruce@ucdavis.edudef test_await(event_loop): 1814299Sbbruce@ucdavis.edu assert 5 == event_loop.run_until_complete(get_await_result(m.SupportsAsync())) 1914299Sbbruce@ucdavis.edu 2014299Sbbruce@ucdavis.edu 2114299Sbbruce@ucdavis.edudef test_await_missing(event_loop): 2214299Sbbruce@ucdavis.edu with pytest.raises(TypeError): 2314299Sbbruce@ucdavis.edu event_loop.run_until_complete(get_await_result(m.DoesNotSupportAsync())) 24