mirror of https://github.com/python/cpython
Issue #21155: asyncio.EventLoop.create_unix_server() now raises a ValueError if
path and sock are specified at the same time.
This commit is contained in:
parent
4bd652a276
commit
1fd03a4a22
|
@ -206,6 +206,10 @@ class _UnixSelectorEventLoop(selector_events.BaseSelectorEventLoop):
|
|||
raise TypeError('ssl argument must be an SSLContext or None')
|
||||
|
||||
if path is not None:
|
||||
if sock is not None:
|
||||
raise ValueError(
|
||||
'path and sock can not be specified at the same time')
|
||||
|
||||
sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
|
||||
try:
|
||||
|
|
|
@ -703,6 +703,17 @@ class EventLoopTestsMixin:
|
|||
# close server
|
||||
server.close()
|
||||
|
||||
@unittest.skipUnless(hasattr(socket, 'AF_UNIX'), 'No UNIX Sockets')
|
||||
def test_create_unix_server_path_socket_error(self):
|
||||
proto = MyProto(loop=self.loop)
|
||||
sock = socket.socket()
|
||||
with sock:
|
||||
f = self.loop.create_unix_server(lambda: proto, '/test', sock=sock)
|
||||
with self.assertRaisesRegex(ValueError,
|
||||
'path and sock can not be specified '
|
||||
'at the same time'):
|
||||
server = self.loop.run_until_complete(f)
|
||||
|
||||
def _create_ssl_context(self, certfile, keyfile=None):
|
||||
sslcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
|
||||
sslcontext.options |= ssl.OP_NO_SSLv2
|
||||
|
|
|
@ -27,6 +27,9 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #21155: asyncio.EventLoop.create_unix_server() now raises a ValueError
|
||||
if path and sock are specified at the same time.
|
||||
|
||||
- Issue #21149: Improved thread-safety in logging cleanup during interpreter
|
||||
shutdown. Thanks to Devin Jeanpierre for the patch.
|
||||
|
||||
|
|
Loading…
Reference in New Issue