From e2ba1d2290daeba9055e9e88a6cbeaa9faa4628e Mon Sep 17 00:00:00 2001 From: Rusty Russell Date: Mon, 23 Apr 2018 20:47:28 +0930 Subject: [PATCH] test_lightningd.py: test_closing_different_fees must wait for txs to hit mempool Careful log examination revealed that we were generating a block before one of the mutual close txs had entered the mempool. This is rare because it means that both peers have to be too slow. Signed-off-by: Rusty Russell --- tests/test_lightningd.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/test_lightningd.py b/tests/test_lightningd.py index fc20353ed..cb4c82eb5 100644 --- a/tests/test_lightningd.py +++ b/tests/test_lightningd.py @@ -1366,6 +1366,12 @@ class LightningDTests(BaseLightningDTests): for c in closes: c.result(72) + # close does *not* wait for the sendrawtransaction, so do that! + # Note that since they disagree on the ideal fee, they may conflict + # (first one in will win), so we cannot look at logs, we need to + # wait for mempool. + wait_for(lambda: bitcoind.rpc.getmempoolinfo()['size'] == num_peers) + bitcoind.generate_block(1) for p in peers: p.daemon.wait_for_log(' to ONCHAIN')