mirror of https://github.com/python/cpython
bpo-36341: Fix tests calling bind() on AF_UNIX sockets (GH-12399)
Those tests may fail with PermissionError. https://bugs.python.org/issue36341
This commit is contained in:
parent
a8a79cacca
commit
4461d704e2
|
@ -73,7 +73,7 @@ class SelectorStartServerTests(BaseStartServer, unittest.TestCase):
|
|||
def new_loop(self):
|
||||
return asyncio.SelectorEventLoop()
|
||||
|
||||
@unittest.skipUnless(hasattr(socket, 'AF_UNIX'), 'no Unix sockets')
|
||||
@support.skip_unless_bind_unix_socket
|
||||
def test_start_unix_server_1(self):
|
||||
HELLO_MSG = b'1' * 1024 * 5 + b'\n'
|
||||
started = threading.Event()
|
||||
|
|
|
@ -1796,8 +1796,13 @@ class GeneralModuleTests(unittest.TestCase):
|
|||
self.addCleanup(shutil.rmtree, tmpdir)
|
||||
s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
self.addCleanup(s.close)
|
||||
try:
|
||||
s.bind(os.path.join(tmpdir, 'socket'))
|
||||
self._test_socket_fileno(s, socket.AF_UNIX, socket.SOCK_STREAM)
|
||||
except PermissionError:
|
||||
pass
|
||||
else:
|
||||
self._test_socket_fileno(s, socket.AF_UNIX,
|
||||
socket.SOCK_STREAM)
|
||||
|
||||
def test_socket_fileno_rejects_float(self):
|
||||
with self.assertRaisesRegex(TypeError, "integer argument expected"):
|
||||
|
|
|
@ -2,7 +2,8 @@ import unittest
|
|||
import os
|
||||
import socket
|
||||
import sys
|
||||
from test.support import TESTFN, import_fresh_module
|
||||
from test.support import (TESTFN, import_fresh_module,
|
||||
skip_unless_bind_unix_socket)
|
||||
|
||||
c_stat = import_fresh_module('stat', fresh=['_stat'])
|
||||
py_stat = import_fresh_module('stat', blocked=['_stat'])
|
||||
|
@ -192,7 +193,7 @@ class TestFilemode:
|
|||
self.assertS_IS("BLK", st_mode)
|
||||
break
|
||||
|
||||
@unittest.skipUnless(hasattr(socket, 'AF_UNIX'), 'requires unix socket')
|
||||
@skip_unless_bind_unix_socket
|
||||
def test_socket(self):
|
||||
with socket.socket(socket.AF_UNIX) as s:
|
||||
s.bind(TESTFN)
|
||||
|
|
|
@ -0,0 +1,2 @@
|
|||
Fix tests that may fail with PermissionError upon calling bind() on AF_UNIX
|
||||
sockets.
|
Loading…
Reference in New Issue