mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
pytest: slow down test_autoclean.
CI is really slow: it sees all three expire at once. But making the
timeouts too long is painful in non-VALGRIND, so I ended up making it
conditional.
```
# First it expires.
wait_for(lambda: only_one(l3.rpc.listinvoices('inv1')['invoices'])['status'] == 'expired')
# Now will get autocleaned
wait_for(lambda: l3.rpc.listinvoices('inv1')['invoices'] == [])
> assert l3.rpc.autoclean_status()['autoclean']['expiredinvoices']['cleaned'] == 1
E assert 3 == 1
tests/test_plugin.py:2975: AssertionError
```
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
committed by
Christian Decker
parent
e0218841c2
commit
651753bbd5
@@ -2949,10 +2949,19 @@ def test_autoclean(node_factory):
|
|||||||
'may_reconnect': True},
|
'may_reconnect': True},
|
||||||
wait_for_announce=True)
|
wait_for_announce=True)
|
||||||
|
|
||||||
|
# Under valgrind in CI, it can 50 seconds between creating invoice
|
||||||
|
# and restarting.
|
||||||
|
if node_factory.valgrind:
|
||||||
|
short_timeout = 10
|
||||||
|
longer_timeout = 60
|
||||||
|
else:
|
||||||
|
short_timeout = 5
|
||||||
|
longer_timeout = 20
|
||||||
|
|
||||||
assert l3.rpc.autoclean_status('expiredinvoices')['autoclean']['expiredinvoices']['enabled'] is False
|
assert l3.rpc.autoclean_status('expiredinvoices')['autoclean']['expiredinvoices']['enabled'] is False
|
||||||
l3.rpc.invoice(amount_msat=12300, label='inv1', description='description1', expiry=5)
|
l3.rpc.invoice(amount_msat=12300, label='inv1', description='description1', expiry=short_timeout)
|
||||||
l3.rpc.invoice(amount_msat=12300, label='inv2', description='description2', expiry=20)
|
l3.rpc.invoice(amount_msat=12300, label='inv2', description='description2', expiry=longer_timeout)
|
||||||
l3.rpc.invoice(amount_msat=12300, label='inv3', description='description3', expiry=20)
|
l3.rpc.invoice(amount_msat=12300, label='inv3', description='description3', expiry=longer_timeout)
|
||||||
inv4 = l3.rpc.invoice(amount_msat=12300, label='inv4', description='description4', expiry=2000)
|
inv4 = l3.rpc.invoice(amount_msat=12300, label='inv4', description='description4', expiry=2000)
|
||||||
inv5 = l3.rpc.invoice(amount_msat=12300, label='inv5', description='description5', expiry=2000)
|
inv5 = l3.rpc.invoice(amount_msat=12300, label='inv5', description='description5', expiry=2000)
|
||||||
|
|
||||||
@@ -2990,11 +2999,14 @@ def test_autoclean(node_factory):
|
|||||||
|
|
||||||
# Same with inv2/3
|
# Same with inv2/3
|
||||||
wait_for(lambda: only_one(l3.rpc.listinvoices('inv2')['invoices'])['status'] == 'expired')
|
wait_for(lambda: only_one(l3.rpc.listinvoices('inv2')['invoices'])['status'] == 'expired')
|
||||||
|
wait_for(lambda: only_one(l3.rpc.listinvoices('inv3')['invoices'])['status'] == 'expired')
|
||||||
|
|
||||||
# Give it time to notice.
|
# Give it time to notice (runs every 10 seconds, give it 15)
|
||||||
time.sleep(15)
|
time.sleep(15)
|
||||||
|
|
||||||
|
# They're still there!
|
||||||
assert l3.rpc.listinvoices('inv2')['invoices'] != []
|
assert l3.rpc.listinvoices('inv2')['invoices'] != []
|
||||||
|
assert l3.rpc.listinvoices('inv3')['invoices'] != []
|
||||||
|
|
||||||
# Restart keeps it disabled.
|
# Restart keeps it disabled.
|
||||||
l3.restart()
|
l3.restart()
|
||||||
|
|||||||
Reference in New Issue
Block a user