Skip to content

Commit 80748a5

Browse files
committed
refactor: Removed version-specific code paths for pytest versions lower than 8.2
1 parent 4698e3e commit 80748a5

File tree

2 files changed

+8
-19
lines changed

2 files changed

+8
-19
lines changed

pytest_asyncio/plugin.py

+7-14
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
Class,
3636
Collector,
3737
Config,
38+
FixtureDef,
3839
FixtureRequest,
3940
Function,
4041
Item,
@@ -62,12 +63,6 @@
6263
FixtureFunction = Union[SimpleFixtureFunction, FactoryFixtureFunction]
6364
FixtureFunctionMarker = Callable[[FixtureFunction], FixtureFunction]
6465

65-
# https://github.com/pytest-dev/pytest/commit/fb55615d5e999dd44306596f340036c195428ef1
66-
if pytest.version_tuple < (8, 0):
67-
FixtureDef = Any
68-
else:
69-
from pytest import FixtureDef
70-
7166

7267
class PytestAsyncioError(Exception):
7368
"""Base class for exceptions raised by pytest-asyncio"""
@@ -320,8 +315,7 @@ def _wrap_asyncgen_fixture(fixturedef: FixtureDef) -> None:
320315

321316
@functools.wraps(fixture)
322317
def _asyncgen_fixture_wrapper(request: FixtureRequest, **kwargs: Any):
323-
unittest = fixturedef.unittest if hasattr(fixturedef, "unittest") else False
324-
func = _perhaps_rebind_fixture_func(fixture, request.instance, unittest)
318+
func = _perhaps_rebind_fixture_func(fixture, request.instance, False)
325319
event_loop_fixture_id = _get_event_loop_fixture_id_for_async_fixture(
326320
request, func
327321
)
@@ -330,15 +324,15 @@ def _asyncgen_fixture_wrapper(request: FixtureRequest, **kwargs: Any):
330324
gen_obj = func(**_add_kwargs(func, kwargs, event_loop, request))
331325

332326
async def setup():
333-
res = await gen_obj.__anext__()
327+
res = await gen_obj.__anext__() # type: ignore[union-attr]
334328
return res
335329

336330
def finalizer() -> None:
337331
"""Yield again, to finalize."""
338332

339333
async def async_finalizer() -> None:
340334
try:
341-
await gen_obj.__anext__()
335+
await gen_obj.__anext__() # type: ignore[union-attr]
342336
except StopAsyncIteration:
343337
pass
344338
else:
@@ -352,16 +346,15 @@ async def async_finalizer() -> None:
352346
request.addfinalizer(finalizer)
353347
return result
354348

355-
fixturedef.func = _asyncgen_fixture_wrapper
349+
fixturedef.func = _asyncgen_fixture_wrapper # type: ignore[misc]
356350

357351

358352
def _wrap_async_fixture(fixturedef: FixtureDef) -> None:
359353
fixture = fixturedef.func
360354

361355
@functools.wraps(fixture)
362356
def _async_fixture_wrapper(request: FixtureRequest, **kwargs: Any):
363-
unittest = False if pytest.version_tuple >= (8, 2) else fixturedef.unittest
364-
func = _perhaps_rebind_fixture_func(fixture, request.instance, unittest)
357+
func = _perhaps_rebind_fixture_func(fixture, request.instance, False)
365358
event_loop_fixture_id = _get_event_loop_fixture_id_for_async_fixture(
366359
request, func
367360
)
@@ -374,7 +367,7 @@ async def setup():
374367

375368
return event_loop.run_until_complete(setup())
376369

377-
fixturedef.func = _async_fixture_wrapper
370+
fixturedef.func = _async_fixture_wrapper # type: ignore[misc]
378371

379372

380373
def _get_event_loop_fixture_id_for_async_fixture(

tests/test_is_async_test.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from textwrap import dedent
22

3-
import pytest
43
from pytest import Pytester
54

65

@@ -74,10 +73,7 @@ def pytest_collection_modifyitems(items):
7473
)
7574
)
7675
result = pytester.runpytest("--asyncio-mode=strict")
77-
if pytest.version_tuple < (8,):
78-
result.assert_outcomes(skipped=1)
79-
else:
80-
result.assert_outcomes(failed=1)
76+
result.assert_outcomes(failed=1)
8177

8278

8379
def test_returns_true_for_unmarked_coroutine_item_in_auto_mode(pytester: Pytester):

0 commit comments

Comments
 (0)