From f2b89a996597700f8ec50eda321e244bc64d6299 Mon Sep 17 00:00:00 2001 From: Christian Decker Date: Mon, 21 May 2018 00:41:12 -0700 Subject: [PATCH] pytest: Simplify test_routing_gossip Settling first and then asserting is longer than just waiting for it to succeed. Signed-off-by: Christian Decker --- tests/test_lightningd.py | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/tests/test_lightningd.py b/tests/test_lightningd.py index 5f44ddee9..39fa86518 100644 --- a/tests/test_lightningd.py +++ b/tests/test_lightningd.py @@ -2657,22 +2657,6 @@ class LightningDTests(BaseLightningDTests): # Allow announce messages. l1.bitcoin.generate_block(5) - def settle_gossip(n): - """Wait for gossip to settle at the node - """ - expected_connections = 2 * (len(nodes) - 1) - start_time = time.time() - # Wait at most 10 seconds, broadcast interval is 1 second - while time.time() - start_time < utils.TIMEOUT: - channels = n.rpc.listchannels()['channels'] - if len(channels) == expected_connections: - break - else: - time.sleep(0.1) - - for n in nodes: - settle_gossip(n) - # Deep check that all channels are in there comb = [] for i in range(len(nodes) - 1): @@ -2680,11 +2664,13 @@ class LightningDTests(BaseLightningDTests): comb.append((nodes[i + 1].info['id'], nodes[i].info['id'])) for n in nodes: - seen = [] - channels = n.rpc.listchannels()['channels'] - for c in channels: - seen.append((c['source'], c['destination'])) - assert set(seen) == set(comb) + def check_gossip(): + seen = [] + channels = n.rpc.listchannels()['channels'] + for c in channels: + seen.append((c['source'], c['destination'])) + return set(seen) == set(comb) + wait_for(check_gossip) @unittest.skipIf(not DEVELOPER, "Too slow without --dev-bitcoind-poll") def test_forward(self):