It seems that asynctest requires at least localhost sockets when I ran my test. Would it be possible to selectively enable certain sockets and not others? For example, here I would probably get past this if I could allow localhost sockets.
============================================== FAILURES ===============================================
______________________ TestBot.test__sends_error_message_when_connection_refused ______________________
venv/lib/python3.6/site-packages/asynctest/case.py:272: in run
self._setUp()
venv/lib/python3.6/site-packages/asynctest/case.py:217: in _setUp
self._init_loop()
venv/lib/python3.6/site-packages/asynctest/case.py:172: in _init_loop
loop = self.loop = asyncio.new_event_loop()
/usr/lib64/python3.6/asyncio/events.py:688: in new_event_loop
return get_event_loop_policy().new_event_loop()
/usr/lib64/python3.6/asyncio/events.py:599: in new_event_loop
return self._loop_factory()
/usr/lib64/python3.6/asyncio/unix_events.py:56: in __init__
super().__init__(selector)
/usr/lib64/python3.6/asyncio/selector_events.py:67: in __init__
self._make_self_pipe()
/usr/lib64/python3.6/asyncio/selector_events.py:129: in _make_self_pipe
self._ssock, self._csock = self._socketpair()
/usr/lib64/python3.6/asyncio/unix_events.py:60: in _socketpair
return socket.socketpair()
/usr/lib64/python3.6/socket.py:489: in socketpair
a = socket(family, type, proto, a.detach())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
args = (<AddressFamily.AF_UNIX: 1>, <SocketKind.SOCK_STREAM: 1>, 0, 11), kwargs = {}
def guarded(*args, **kwargs):
> raise SocketBlockedError()
E pytest_socket.SocketBlockedError: A test tried to use socket.socket.
venv/lib/python3.6/site-packages/pytest_socket.py:56: SocketBlockedError
================================= 1 failed, 4 passed in 0.41 seconds ==================================
Exception ignored in: <bound method BaseEventLoop.__del__ of <_UnixSelectorEventLoop running=False closed=False debug=False>>
Traceback (most recent call last):
File "/usr/lib64/python3.6/asyncio/base_events.py", line 512, in __del__
self.close()
File "/usr/lib64/python3.6/asyncio/unix_events.py", line 63, in close
super().close()
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 110, in close
self._close_self_pipe()
File "/usr/lib64/python3.6/asyncio/selector_events.py", line 120, in _close_self_pipe
self._remove_reader(self._ssock.fileno())
AttributeError: '_UnixSelectorEventLoop' object has no attribute '_ssock'
pip install pytest pytest-socket asynctest
pytest test.py
It seems that asynctest requires at least localhost sockets when I ran my test. Would it be possible to selectively enable certain sockets and not others? For example, here I would probably get past this if I could allow localhost sockets.
To reproduce:
pytest.ini
test.py
commands to enter: