Skip to content

Parametrizing event_loop_policy parametrizes all tests #796

@aceg1k

Description

@aceg1k

Contrary to the statements in the documentation (here and here), the fixture is not only applied to all pytest-asyncio tests, but also applied to all other tests.

import asyncio import pytest import uvloop @pytest.fixture(  scope="session",  params=(asyncio.get_event_loop_policy(), uvloop.EventLoopPolicy()),  ids=("asyncio", "uvloop"), ) def event_loop_policy(request): return request.param @pytest.mark.asyncio async def test_async(): pass def test_sync(): pass

Output:

plugins: asyncio-0.23.5 asyncio: mode=Mode.STRICT collected 4 items test_event_loop_policy.py::test_async[asyncio] PASSED [ 25%] test_event_loop_policy.py::test_sync[asyncio] PASSED [ 50%] test_event_loop_policy.py::test_async[uvloop] PASSED [ 75%] test_event_loop_policy.py::test_sync[uvloop] PASSED [100%] 

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions