27 lines
		
	
	
		
			572 B
		
	
	
	
		
			Python
		
	
	
			
		
		
	
	
			27 lines
		
	
	
		
			572 B
		
	
	
	
		
			Python
		
	
	
from __future__ import annotations
 | 
						|
 | 
						|
import pytest
 | 
						|
 | 
						|
asyncio = pytest.importorskip("asyncio")
 | 
						|
m = pytest.importorskip("pybind11_tests.async_module")
 | 
						|
 | 
						|
 | 
						|
@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 event_loop.run_until_complete(get_await_result(m.SupportsAsync())) == 5
 | 
						|
 | 
						|
 | 
						|
def test_await_missing(event_loop):
 | 
						|
    with pytest.raises(TypeError):
 | 
						|
        event_loop.run_until_complete(get_await_result(m.DoesNotSupportAsync()))
 |