[asyncio] Add asyncio 3.14 deprecations (#15176)

This commit is contained in:
Max Muoto
2025-12-28 13:53:57 +01:00
committed by GitHub
parent 1662831023
commit 0338df4571
3 changed files with 77 additions and 17 deletions
@@ -1,25 +1,40 @@
from __future__ import annotations
import sys
from asyncio import iscoroutinefunction
from collections.abc import Awaitable, Callable, Coroutine
from typing import Any
from typing_extensions import assert_type
def test_iscoroutinefunction(
def test_iscoroutinefunction_asyncio(
x: Callable[[str, int], Coroutine[str, int, bytes]],
y: Callable[[str, int], Awaitable[bytes]],
z: Callable[[str, int], str | Awaitable[bytes]],
xx: object,
) -> None:
if iscoroutinefunction(x):
assert_type(x, Callable[[str, int], Coroutine[str, int, bytes]])
# asyncio.iscoroutinefunction is deprecated >= 3.11, expecting a warning.
if sys.version_info >= (3, 11):
if iscoroutinefunction(x): # pyright: ignore
assert_type(x, Callable[[str, int], Coroutine[str, int, bytes]])
if iscoroutinefunction(y):
assert_type(y, Callable[[str, int], Coroutine[Any, Any, bytes]])
if iscoroutinefunction(y): # pyright: ignore
assert_type(y, Callable[[str, int], Coroutine[Any, Any, bytes]])
if iscoroutinefunction(z):
assert_type(z, Callable[[str, int], Coroutine[Any, Any, Any]])
if iscoroutinefunction(z): # pyright: ignore
assert_type(z, Callable[[str, int], Coroutine[Any, Any, Any]])
if iscoroutinefunction(xx):
assert_type(xx, Callable[..., Coroutine[Any, Any, Any]])
if iscoroutinefunction(xx): # pyright: ignore
assert_type(xx, Callable[..., Coroutine[Any, Any, Any]])
else:
if iscoroutinefunction(x):
assert_type(x, Callable[[str, int], Coroutine[str, int, bytes]])
if iscoroutinefunction(y):
assert_type(y, Callable[[str, int], Coroutine[Any, Any, bytes]])
if iscoroutinefunction(z):
assert_type(z, Callable[[str, int], Coroutine[Any, Any, Any]])
if iscoroutinefunction(xx):
assert_type(xx, Callable[..., Coroutine[Any, Any, Any]])
+26
View File
@@ -0,0 +1,26 @@
from __future__ import annotations
import inspect
from collections.abc import Awaitable, Callable, Coroutine
from types import CoroutineType
from typing import Any
from typing_extensions import assert_type
def test_iscoroutinefunction_inspect(
x: Callable[[str, int], Coroutine[str, int, bytes]],
y: Callable[[str, int], Awaitable[bytes]],
z: Callable[[str, int], str | Awaitable[bytes]],
xx: object,
) -> None:
if inspect.iscoroutinefunction(x):
assert_type(x, Callable[[str, int], Coroutine[str, int, bytes]])
if inspect.iscoroutinefunction(y):
assert_type(y, Callable[[str, int], CoroutineType[Any, Any, bytes]])
if inspect.iscoroutinefunction(z):
assert_type(z, Callable[[str, int], CoroutineType[Any, Any, Any]])
if inspect.iscoroutinefunction(xx):
assert_type(xx, Callable[..., CoroutineType[Any, Any, Any]])