From be30d9a94ba45afb600717e3fcd95b8b2ff2c60e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= Date: Fri, 23 May 2025 21:59:14 +0200 Subject: [PATCH] Fix test_examples on Python 3.14 (#185) This is basically a followup of https://github.com/aklajnert/pytest-subprocess/pull/148 --- tests/test_examples.py | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) Index: pytest-subprocess-1.5.3/tests/test_examples.py =================================================================== --- pytest-subprocess-1.5.3.orig/tests/test_examples.py +++ pytest-subprocess-1.5.3/tests/test_examples.py @@ -1,3 +1,4 @@ +import sys from pathlib import Path import pytest @@ -39,18 +40,21 @@ def test_documentation(testdir, rst_file " os.chdir(os.path.dirname(__file__))\n\n" ) - event_loop_fixture = ( - "\n\n" - "@pytest.fixture(autouse=True)\n" - "def event_loop(request):\n" - " policy = asyncio.get_event_loop_policy()\n" - ' if sys.platform == "win32":\n' - " loop = asyncio.ProactorEventLoop()\n" - " else:\n" - " loop = policy.get_event_loop()\n" - " yield loop\n" - " loop.close()\n" - ) + if sys.version_info < (3, 8): + event_loop_fixture = ( + "\n\n" + "@pytest.fixture(autouse=True)\n" + "def event_loop(request):\n" + " policy = asyncio.get_event_loop_policy()\n" + ' if sys.platform == "win32":\n' + " loop = asyncio.ProactorEventLoop()\n" + " else:\n" + " loop = policy.get_event_loop()\n" + " yield loop\n" + " loop.close()\n" + ) + else: + event_loop_fixture = "" code_blocks = "\n".join(get_code_blocks(ROOT_DIR / rst_file)) testdir.makepyfile( Index: pytest-subprocess-1.5.3/tests/test_asyncio.py =================================================================== --- pytest-subprocess-1.5.3.orig/tests/test_asyncio.py +++ pytest-subprocess-1.5.3/tests/test_asyncio.py @@ -2,6 +2,7 @@ import asyncio import os import sys import time +import warnings import anyio import pytest @@ -13,12 +14,14 @@ PYTHON = sys.executable @pytest.fixture() def event_loop_policy(request): - if sys.platform.startswith("win"): - if request.node.name.startswith("test_invalid_event_loop"): - return asyncio.WindowsSelectorEventLoopPolicy() - else: - return asyncio.WindowsProactorEventLoopPolicy() - return asyncio.DefaultEventLoopPolicy() + with warnings.catch_warnings(): + warnings.simplefilter('ignore', DeprecationWarning) + if sys.platform.startswith("win"): + if request.node.name.startswith("test_invalid_event_loop"): + return asyncio.WindowsSelectorEventLoopPolicy() + else: + return asyncio.WindowsProactorEventLoopPolicy() + return asyncio.DefaultEventLoopPolicy() if sys.platform.startswith("win") and sys.version_info < (3, 8):