##// END OF EJS Templates
runtests: check ports on IPv6 address...
Jun Wu -
r30886:2aaa8bfc default
parent child Browse files
Show More
@@ -114,15 +114,19 b' wifexited = getattr(os, "WIFEXITED", lam'
114
114
115 def checkportisavailable(port):
115 def checkportisavailable(port):
116 """return true if a port seems free to bind on localhost"""
116 """return true if a port seems free to bind on localhost"""
117 try:
117 families = [getattr(socket, i, None)
118 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
118 for i in ('AF_INET', 'AF_INET6')
119 s.bind(('localhost', port))
119 if getattr(socket, i, None) is not None]
120 s.close()
120 for family in families:
121 return True
121 try:
122 except socket.error as exc:
122 s = socket.socket(family, socket.SOCK_STREAM)
123 if not exc.errno == errno.EADDRINUSE:
123 s.bind(('localhost', port))
124 raise
124 s.close()
125 return False
125 return True
126 except socket.error as exc:
127 if exc.errno not in (errno.EADDRINUSE, errno.EADDRNOTAVAIL):
128 raise
129 return False
126
130
127 closefds = os.name == 'posix'
131 closefds = os.name == 'posix'
128 def Popen4(cmd, wd, timeout, env=None):
132 def Popen4(cmd, wd, timeout, env=None):
General Comments 0
You need to be logged in to leave comments. Login now