mirror of https://github.com/python/cpython
Issue #19875: Fix random test_getsockaddrarg() failure.
This commit is contained in:
parent
889d6463b3
commit
65708cf510
|
@ -3,6 +3,7 @@ from test import support
|
|||
|
||||
import errno
|
||||
import io
|
||||
import itertools
|
||||
import socket
|
||||
import select
|
||||
import tempfile
|
||||
|
@ -1145,17 +1146,24 @@ class GeneralModuleTests(unittest.TestCase):
|
|||
sock.close()
|
||||
|
||||
def test_getsockaddrarg(self):
|
||||
host = '0.0.0.0'
|
||||
sock = socket.socket()
|
||||
self.addCleanup(sock.close)
|
||||
port = support.find_unused_port()
|
||||
big_port = port + 65536
|
||||
neg_port = port - 65536
|
||||
sock = socket.socket()
|
||||
self.assertRaises(OverflowError, sock.bind, (HOST, big_port))
|
||||
self.assertRaises(OverflowError, sock.bind, (HOST, neg_port))
|
||||
# Since find_unused_port() is inherently subject to race conditions, we
|
||||
# call it a couple times if necessary.
|
||||
for i in itertools.count():
|
||||
port = support.find_unused_port()
|
||||
try:
|
||||
self.assertRaises(OverflowError, sock.bind, (host, big_port))
|
||||
self.assertRaises(OverflowError, sock.bind, (host, neg_port))
|
||||
sock.bind((host, port))
|
||||
finally:
|
||||
sock.close()
|
||||
sock.bind((HOST, port))
|
||||
except OSError as e:
|
||||
if e.errno != errno.EADDRINUSE or i == 5:
|
||||
raise
|
||||
else:
|
||||
break
|
||||
|
||||
@unittest.skipUnless(os.name == "nt", "Windows specific")
|
||||
def test_sock_ioctl(self):
|
||||
|
|
Loading…
Reference in New Issue