mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-20 23:54:22 +01:00
pytest: fix timeout in test_sql
The logs show we're not waiting for the right transaction, so be explicit.
```
# Check that channels gets refreshed!
scid = l1.get_channel_scid(l2)
l1.rpc.setchannel(scid, feebase=123)
wait_for(lambda: l3.rpc.sql("SELECT short_channel_id FROM channels WHERE base_fee_millisatoshi = 123;")['rows'] == [[scid]])
l3.daemon.wait_for_log("Refreshing channels...")
l3.daemon.wait_for_log("Refreshing channel: {}".format(scid))
# This has to wait for the hold_invoice plugin to let go!
l1.rpc.close(l2.info['id'])
bitcoind.generate_block(13, wait_for_mempool=1)
> wait_for(lambda: len(l3.rpc.listchannels()['channels']) == 2)
tests/test_plugin.py:4143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
success = <function test_sql.<locals>.<lambda> at 0x7fde3b9cd3a0>, timeout = 180
def wait_for(success, timeout=TIMEOUT):
start_time = time.time()
interval = 0.25
while not success():
time_left = start_time + timeout - time.time()
if time_left <= 0:
> raise ValueError("Timeout while waiting for {}".format(success))
E ValueError: Timeout while waiting for <function test_sql.<locals>.<lambda> at 0x7fde3b9cd3a0>
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
@@ -4138,8 +4138,8 @@ def test_sql(node_factory, bitcoind):
|
||||
l3.daemon.wait_for_log("Refreshing channel: {}".format(scid))
|
||||
|
||||
# This has to wait for the hold_invoice plugin to let go!
|
||||
l1.rpc.close(l2.info['id'])
|
||||
bitcoind.generate_block(13, wait_for_mempool=1)
|
||||
txid = l1.rpc.close(l2.info['id'])['txid']
|
||||
bitcoind.generate_block(13, wait_for_mempool=txid)
|
||||
wait_for(lambda: len(l3.rpc.listchannels()['channels']) == 2)
|
||||
assert len(l3.rpc.sql("SELECT * FROM channels;")['rows']) == 2
|
||||
l3.daemon.wait_for_log("Deleting channel: {}".format(scid))
|
||||
|
||||
Reference in New Issue
Block a user