From bcf3cef96c2837aaa9bb3b99b3d23ace4c3183dc Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Wed, 23 Mar 2022 09:31:36 +1030 Subject: [PATCH] pytest: fix flake in test_connection.py::test_opener_feerate_reconnect Make sure it sees disconnect before reconnect, otherwise the next command fails since we're now disconnected. Signed-off-by: Rusty Russell --- lightningd/peer_control.c | 1 + tests/test_connection.py | 1 + 2 files changed, 2 insertions(+) diff --git a/lightningd/peer_control.c b/lightningd/peer_control.c index b1968cfa2..6bfd09f68 100644 --- a/lightningd/peer_control.c +++ b/lightningd/peer_control.c @@ -1408,6 +1408,7 @@ void peer_disconnect_done(struct lightningd *ld, const u8 *msg) /* If we still have peer, it's disconnected now */ p = peer_by_id(ld, &id); if (p) { + log_peer_debug(ld->log, &id, "peer_disconnect_done"); p->is_connected = false; /* If we only cared about peer because of connectd, free it. */ if (list_empty(&p->channels) && !p->uncommitted_channel) { diff --git a/tests/test_connection.py b/tests/test_connection.py index 2c956380a..ede5b8716 100644 --- a/tests/test_connection.py +++ b/tests/test_connection.py @@ -2748,6 +2748,7 @@ def test_opener_feerate_reconnect(node_factory, bitcoind): # Wait until they reconnect. l1.daemon.wait_for_log('Peer transient failure in CHANNELD_NORMAL') + l1.daemon.wait_for_log('peer_disconnect_done') wait_for(lambda: l1.rpc.getpeer(l2.info['id'])['connected']) # Should work normally.