pytest: make test_connect_ratelimit more robust
We were sending SIGSTOP to the lightningds, but that doesn't always mean the connectd would stop it seems: ``` lightningd-1 2026-01-27T04:49:16.979Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: Initializing important peer with 1 addresses lightningd-1 2026-01-27T04:49:16.979Z DEBUG connectd: Got 10 bad cupdates, ignoring them (expected on mainnet) lightningd-1 2026-01-27T04:49:16.979Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: Connected out, starting crypto lightningd-1 2026-01-27T04:49:16.980Z DEBUG 038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-hsmd: Got WIRE_HSMD_ECDH_REQ lightningd-1 2026-01-27T04:49:16.981Z DEBUG hsmd: Client: Received message 1 from client lightningd-1 2026-01-27T04:49:16.985Z TRACE 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-gossipd: handle_recv_gossip: WIRE_CHANNEL_ANNOUNCEMENT lightningd-1 2026-01-27T04:49:16.985Z TRACE 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-gossipd: handle_recv_gossip: WIRE_CHANNEL_UPDATE lightningd-1 2026-01-27T04:49:16.985Z TRACE 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-gossipd: handle_recv_gossip: WIRE_CHANNEL_UPDATE lightningd-1 2026-01-27T04:49:16.985Z TRACE 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-gossipd: handle_recv_gossip: WIRE_NODE_ANNOUNCEMENT lightningd-1 2026-01-27T04:49:16.985Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: Connect OUT lightningd-1 2026-01-27T04:49:16.986Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: peer_out WIRE_INIT lightningd-1 2026-01-27T04:49:16.986Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: peer_in WIRE_INIT lightningd-1 2026-01-27T04:49:16.986Z TRACE lightningd: Calling peer_connected hook of plugin chanbackup lightningd-1 2026-01-27T04:49:16.986Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: Handed peer, entering loop lightningd-1 2026-01-27T04:49:16.986Z DEBUG 03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31-connectd: Initializing important peer with 1 addresses lightningd-1 2026-01-27T04:49:16.986Z DEBUG 033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a-connectd: Initializing important peer with 1 addresses lightningd-1 2026-01-27T04:49:16.987Z DEBUG 033845802d25b4e074ccfd7cd8b339a41dc75bf9978a034800444b51d42b07799a-connectd: Too many connections, waiting... lightningd-1 2026-01-27T04:49:16.987Z DEBUG 02186115cb7e93e2cb4d9d9fe7a9cf5ff7a5784bfdda4f164ff041655e4bcd4fd0-connectd: Initializing important peer with 1 addresses lightningd-1 2026-01-27T04:49:16.987Z DEBUG 02186115cb7e93e2cb4d9d9fe7a9cf5ff7a5784bfdda4f164ff041655e4bcd4fd0-connectd: Too many connections, waiting... lightningd-1 2026-01-27T04:49:16.987Z DEBUG 02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0-connectd: Initializing important peer with 1 addresses lightningd-1 2026-01-27T04:49:16.987Z DEBUG 02287bfac8b99b35477ebe9334eede1e32b189e24644eb701c079614712331cec0-connectd: Too many connections, waiting... lightningd-1 2026-01-27T04:49:16.987Z DEBUG 03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31-connectd: Connected out, starting crypto lightningd-1 2026-01-27T04:49:16.989Z DEBUG 038194b5f32bdf0aa59812c86c4ef7ad2f294104fa027d1ace9b469bb6f88cf37b-hsmd: Got WIRE_HSMD_ECDH_REQ lightningd-1 2026-01-27T04:49:16.989Z DEBUG hsmd: Client: Received message 1 from client lightningd-1 2026-01-27T04:49:16.990Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: peer_in WIRE_GOSSIP_TIMESTAMP_FILTER lightningd-1 2026-01-27T04:49:16.991Z DEBUG 03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31-connectd: Connect OUT lightningd-1 2026-01-27T04:49:16.991Z DEBUG 03cecbfdc68544cc596223b68ce0710c9e5d2c9cb317ee07822d95079acc703d31-connectd: peer_out WIRE_INIT lightningd-1 2026-01-27T04:49:16.991Z DEBUG 0258f3ff3e0853ccc09f6fe89823056d7c0c55c95fab97674df5e1ad97a72f6265-connectd: peer_out WIRE_PEER_STORAGE ``` Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -4496,9 +4496,15 @@ def test_connect_ratelimit(node_factory, bitcoind):
|
||||
assert not l1.daemon.is_in_log('Unblocking for')
|
||||
|
||||
l1.stop()
|
||||
# Suspend the others, to make sure they cannot respond too fast.
|
||||
|
||||
# Suspend the others' connectd, to make sure they cannot respond too fast.
|
||||
connectd_pids = []
|
||||
for n in nodes:
|
||||
os.kill(n.daemon.proc.pid, signal.SIGSTOP)
|
||||
log = n.daemon.is_in_log(' connectd: pid .*, msgfd')
|
||||
m = re.search(r'connectd: pid (\d*),', log)
|
||||
pid = int(m.groups()[0])
|
||||
connectd_pids.append(pid)
|
||||
os.kill(pid, signal.SIGSTOP)
|
||||
|
||||
try:
|
||||
l1.start()
|
||||
@@ -4509,13 +4515,13 @@ def test_connect_ratelimit(node_factory, bitcoind):
|
||||
* (len(nodes) - 1))
|
||||
except Exception as err:
|
||||
# Resume, so pytest doesn't hang!
|
||||
for n in nodes:
|
||||
os.kill(n.daemon.proc.pid, signal.SIGCONT)
|
||||
for p in connectd_pids:
|
||||
os.kill(p, signal.SIGCONT)
|
||||
raise err
|
||||
|
||||
# Resume them
|
||||
for n in nodes:
|
||||
os.kill(n.daemon.proc.pid, signal.SIGCONT)
|
||||
for p in connectd_pids:
|
||||
os.kill(p, signal.SIGCONT)
|
||||
|
||||
# And now they're all connected
|
||||
wait_for(lambda: [p['connected'] for p in l1.rpc.listpeers()['peers']] == [True] * len(nodes))
|
||||
|
||||
Reference in New Issue
Block a user