File pytest84.patch of Package python-pytest-asyncio
From 8c6612fda96f78a1df2f0d271426b7b6e3c10737 Mon Sep 17 00:00:00 2001
From: Yao Zi <ziyao@disroot.org>
Date: Tue, 10 Jun 2025 16:17:11 +0000
Subject: [PATCH] test: Adapt unmarked async tests in strict mode for pytest
8.4.0
Async tests fail instead of skipping and warning with Pytest 8.4.0 if
no suitable async plugin is installed[1]. Adjust expectation of these
tests to pass the testsuite with Pytest 8.4.0.
Link: https://docs.pytest.org/en/stable/changelog.html#pytest-8-4-0-2025-06-02 # [1]
Signed-off-by: Yao Zi <ziyao@disroot.org>
---
tests/modes/test_strict_mode.py | 23 ++++++++++++++++++-----
1 file changed, 18 insertions(+), 5 deletions(-)
diff --git a/tests/modes/test_strict_mode.py b/tests/modes/test_strict_mode.py
index 52cbb251..44f54b7d 100644
--- a/tests/modes/test_strict_mode.py
+++ b/tests/modes/test_strict_mode.py
@@ -2,7 +2,7 @@
from textwrap import dedent
-from pytest import Pytester
+from pytest import Pytester, version_tuple as pytest_version
def test_strict_mode_cmdline(pytester: Pytester):
@@ -95,7 +95,10 @@ async def test_anything():
)
)
result = pytester.runpytest_subprocess("--asyncio-mode=strict", "-W default")
- result.assert_outcomes(skipped=1, warnings=1)
+ if pytest_version >= (8, 4, 0):
+ result.assert_outcomes(failed=1, skipped=0, warnings=0)
+ else:
+ result.assert_outcomes(skipped=1, warnings=1)
result.stdout.fnmatch_lines(["*async def functions are not natively supported*"])
@@ -117,7 +120,11 @@ async def test_anything(any_fixture):
)
)
result = pytester.runpytest_subprocess("--asyncio-mode=strict", "-W default")
- result.assert_outcomes(skipped=1, warnings=2)
+
+ if pytest_version >= (8, 4, 0):
+ result.assert_outcomes(failed=1, skipped=0, warnings=2)
+ else:
+ result.assert_outcomes(skipped=1, warnings=2)
result.stdout.fnmatch_lines(
[
"*async def functions are not natively supported*",
@@ -149,7 +156,10 @@ async def test_anything(any_fixture):
)
)
result = pytester.runpytest_subprocess("--asyncio-mode=strict", "-W default")
- result.assert_outcomes(passed=1, failed=0, skipped=0, warnings=1)
+ if pytest_version >= (8, 4, 0):
+ result.assert_outcomes(passed=1, failed=0, skipped=0, warnings=2)
+ else:
+ result.assert_outcomes(passed=1, failed=0, skipped=0, warnings=1)
result.stdout.fnmatch_lines(
[
"*warnings summary*",
@@ -193,7 +203,10 @@ async def test_anything(any_fixture):
)
)
result = pytester.runpytest_subprocess("--asyncio-mode=strict", "-W default")
- result.assert_outcomes(passed=1, warnings=1)
+ if pytest_version >= (8, 4, 0):
+ result.assert_outcomes(passed=1, warnings=2)
+ else:
+ result.assert_outcomes(passed=1, warnings=1)
result.stdout.fnmatch_lines(
[
"*warnings summary*",