[issue37015] Fix asyncio mock warnings
Karthikeyan Singaravelan
report at bugs.python.org
Wed May 22 14:36:43 EDT 2019
Karthikeyan Singaravelan <tir.karthi at gmail.com> added the comment:
Not sure if it helps. Set backlog in the below test as 1. Add a print statement print(type(_mock_call)) at [0] . I could see some of _mock_call to be AsyncMock . So instead of calling return _mock_self._mock_call(*args, **kwargs) directly if I call them only with they are not instance of AsyncMock (not isinstance(_mock_self, AsyncMock)) then the warning goes away.
Guess somewhere an AsyncMock is created as I can see _accept_connection2. When the backlog value is set to 100 it shows lot of warnings.
$ ./python.exe -Werror -X tracemalloc -m unittest -vv test.test_asyncio.test_selector_events.BaseSelectorEventLoopTests.test_accept_connection_multiple
test_accept_connection_multiple (test.test_asyncio.test_selector_events.BaseSelectorEventLoopTests) ... <AsyncMock name='_accept_connection2' id='4465398880'>
<class 'unittest.mock.Mock'>
<class 'unittest.mock.Mock'>
<class 'unittest.mock.AsyncMock'>
<class 'unittest.mock.MagicMock'>
<class 'unittest.mock.Mock'>
ok
----------------------------------------------------------------------
Ran 1 test in 0.123s
OK
Exception ignored in: <coroutine object AsyncMockMixin._mock_call at 0x10a2a0e60>
Traceback (most recent call last):
File "/Users/karthikeyansingaravelan/stuff/python/cpython/Lib/warnings.py", line 510, in _warn_unawaited_coroutine
warn(msg, category=RuntimeWarning, stacklevel=2, source=coro)
RuntimeWarning: coroutine 'AsyncMockMixin._mock_call' was never awaited
[0] https://github.com/python/cpython/blob/b121f63155d8e3c7c42ab6122e36eaf7f5e9f7f5/Lib/unittest/mock.py#L991
----------
_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue37015>
_______________________________________
More information about the Python-bugs-list
mailing list