File tree 2 files changed +25
-4
lines changed
tests/unit/providers/coroutines
2 files changed +25
-4
lines changed Original file line number Diff line number Diff line change @@ -26,17 +26,22 @@ except ImportError:
26
26
# Python 2.7
27
27
import __builtin__ as builtins
28
28
29
+ try :
30
+ from inspect import _is_coroutine_marker
31
+ except ImportError :
32
+ _is_coroutine_marker = True
33
+
29
34
try :
30
35
import asyncio
31
36
except ImportError :
32
37
asyncio = None
33
- _is_coroutine_marker = None
38
+ _is_coroutine = None
34
39
else :
35
40
if sys.version_info >= (3 , 5 , 3 ):
36
41
import asyncio.coroutines
37
- _is_coroutine_marker = asyncio.coroutines._is_coroutine
42
+ _is_coroutine = asyncio.coroutines._is_coroutine
38
43
else :
39
- _is_coroutine_marker = True
44
+ _is_coroutine = True
40
45
41
46
try :
42
47
import ConfigParser as iniconfigparser
@@ -1434,7 +1439,8 @@ cdef class Coroutine(Callable):
1434
1439
some_coroutine. add_kwargs( keyword_argument1=3, keyword_argument=4)
1435
1440
"""
1436
1441
1437
- _is_coroutine = _is_coroutine_marker
1442
+ _is_coroutine_marker = _is_coroutine_marker # Python >=3.12
1443
+ _is_coroutine = _is_coroutine # Python <3.16
1438
1444
1439
1445
def set_provides (self , provides ):
1440
1446
""" Set provider provides."""
Original file line number Diff line number Diff line change 1
1
"""Coroutine provider tests."""
2
+ import sys
2
3
3
4
from dependency_injector import providers , errors
4
5
from pytest import mark , raises
@@ -208,3 +209,17 @@ def test_repr():
208
209
"<dependency_injector.providers."
209
210
"Coroutine({0}) at {1}>" .format (repr (example ), hex (id (provider )))
210
211
)
212
+
213
+
214
+ @mark .skipif (sys .version_info > (3 , 15 ), reason = "requires Python<3.16" )
215
+ def test_asyncio_iscoroutinefunction () -> None :
216
+ from asyncio .coroutines import iscoroutinefunction
217
+
218
+ assert iscoroutinefunction (providers .Coroutine (example ))
219
+
220
+
221
+ @mark .skipif (sys .version_info < (3 , 12 ), reason = "requires Python>=3.12" )
222
+ def test_inspect_iscoroutinefunction () -> None :
223
+ from inspect import iscoroutinefunction
224
+
225
+ assert iscoroutinefunction (providers .Coroutine (example ))
You can’t perform that action at this time.
0 commit comments