Another possible approach for connection check

This commit is contained in:
Dmitri Bogomolov 2020-01-30 18:13:47 +02:00
parent d9d1cdb5d8
commit e9073d736a
Signed by untrusted user: g1itch
GPG Key ID: 720A756F18DEED13

View File

@ -167,7 +167,7 @@ class TestCore(unittest.TestCase):
def _check_connection(self): def _check_connection(self):
""" """
Check if there is at least one outbound connection to remote host Check if there is at least one outbound connection to remote host
with name not starting with "bootstrap" in 3 minutes, with name not starting with "bootstrap" in 6 minutes at most,
fail otherwise. fail otherwise.
""" """
_started = time.time() _started = time.time()
@ -180,10 +180,19 @@ class TestCore(unittest.TestCase):
connection_base = Socks4aBMConnection connection_base = Socks4aBMConnection
else: else:
connection_base = TCPConnection connection_base = TCPConnection
for _ in range(180): c = 360
while c > 0:
time.sleep(1) time.sleep(1)
c -= 2
for peer, con in BMConnectionPool().outboundConnections.iteritems(): for peer, con in BMConnectionPool().outboundConnections.iteritems():
if not peer.host.startswith('bootstrap'): if peer.host.startswith('bootstrap'):
if c < 60:
self.fail(
'Still connected to bootstrap node %s after % seconds' %
(peer, time.time() - _started))
c += 1
break
else:
self.assertIsInstance(con, connection_base) self.assertIsInstance(con, connection_base)
self.assertNotEqual(peer.host, '127.0.0.1') self.assertNotEqual(peer.host, '127.0.0.1')
return return