1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
from __future__ import annotations
import asyncio
import sys
from test import pytest_conf
from test.asynchronous import async_setup, async_teardown
import pytest
import pytest_asyncio
_IS_SYNC = False
@pytest.fixture(scope="session")
def event_loop_policy():
# The default asyncio loop implementation on Windows
# has issues with sharing sockets across loops (https://github.com/python/cpython/issues/122240)
# We explicitly use a different loop implementation here to prevent that issue
if sys.platform == "win32":
return asyncio.WindowsSelectorEventLoopPolicy() # type: ignore[attr-defined]
return asyncio.get_event_loop_policy()
@pytest_asyncio.fixture(scope="package", autouse=True)
async def test_setup_and_teardown():
await async_setup()
yield
await async_teardown()
pytest_collection_modifyitems = pytest_conf.pytest_collection_modifyitems
|