Try to make this test a little more robust and not fail with:
timeout (10.0025) is more than 2 seconds more than expected (0.001) I'm assuming this problem is caused by DNS lookup. This change does a DNS lookup of the hostname before trying to connect, so the time is not included.
This commit is contained in:
parent
e70bb8d6f2
commit
1f2995b014
|
@ -107,16 +107,21 @@ class TimeoutTestCase(unittest.TestCase):
|
|||
self.sock.close()
|
||||
|
||||
def testConnectTimeout(self):
|
||||
# Test connect() timeout
|
||||
_timeout = 0.001
|
||||
self.sock.settimeout(_timeout)
|
||||
|
||||
# If we are too close to www.python.org, this test will fail.
|
||||
# Pick a host that should be farther away.
|
||||
if (socket.getfqdn().split('.')[-2:] == ['python', 'org'] or
|
||||
socket.getfqdn().split('.')[-2:-1] == ['xs4all']):
|
||||
self.addr_remote = ('tut.fi', 80)
|
||||
|
||||
# Lookup the IP address to avoid including the DNS lookup time
|
||||
# with the connect time. This avoids failing the assertion that
|
||||
# the timeout occurred fast enough.
|
||||
self.addr_remote = (socket.gethostbyname(self.addr_remote[0]), 80)
|
||||
|
||||
# Test connect() timeout
|
||||
_timeout = 0.001
|
||||
self.sock.settimeout(_timeout)
|
||||
|
||||
_t1 = time.time()
|
||||
self.failUnlessRaises(socket.error, self.sock.connect,
|
||||
self.addr_remote)
|
||||
|
|
Loading…
Reference in New Issue