Browse Source

tests: made TestLNTransport.test_loop more robust

hard-fail-on-bad-server-string
SomberNight 5 years ago
parent
commit
dae842e2ad
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 3
      electrum/lnworker.py
  2. 11
      electrum/tests/test_lntransport.py

3
electrum/lnworker.py

@ -169,7 +169,8 @@ class LNWorker(Logger):
self.peers[node_id] = peer
await self.taskgroup.spawn(peer.main_loop())
try:
await asyncio.start_server(cb, addr, int(port))
# FIXME: server.close(), server.wait_closed(), etc... ?
server = await asyncio.start_server(cb, addr, int(port))
except OSError as e:
self.logger.error(f"cannot listen for lightning p2p. error: {e!r}")

11
electrum/tests/test_lntransport.py

@ -51,6 +51,7 @@ class TestLNTransport(ElectrumTestCase):
responder_shaked.set()
server_future = asyncio.ensure_future(asyncio.start_server(cb, '127.0.0.1', 42898))
loop.run_until_complete(server_future)
server = server_future.result() # type: asyncio.Server
async def connect():
peer_addr = LNPeerAddr('127.0.0.1', 42898, responder_key.get_public_key_bytes())
t = LNTransport(initiator_key.get_secret_bytes(), peer_addr)
@ -59,6 +60,10 @@ class TestLNTransport(ElectrumTestCase):
self.assertEqual(await t.read_messages().__anext__(), b'hello from server')
server_shaked.set()
connect_future = asyncio.ensure_future(connect())
loop.run_until_complete(responder_shaked.wait())
loop.run_until_complete(server_shaked.wait())
try:
connect_future = asyncio.ensure_future(connect())
loop.run_until_complete(responder_shaked.wait())
loop.run_until_complete(server_shaked.wait())
finally:
server.close()
loop.run_until_complete(server.wait_closed())

Loading…
Cancel
Save