Files
python-pytest-subprocess/py314-fix-tests.patch
Steve Kowalik 76cc36aa69 - Refresh patch py314-fix-tests.patch
* Ignore DeprecationWarning about asyncio event loop policies.
2025-11-11 14:11:48 +11:00

87 lines
3.1 KiB
Diff

From be30d9a94ba45afb600717e3fcd95b8b2ff2c60e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
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):