mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-19 15:14:23 +01:00
tests: add account_id's and match by acct id, not test ordering
There's no guarantee as to iteration order for accounts/channels, but this test was relying on them. Adding account attribution and comparing by account_ids fixes Fixes: #5869 Reported-By: @rustyrussell
This commit is contained in:
@@ -1301,12 +1301,15 @@ def test_penalty_htlc_tx_fulfill(node_factory, bitcoind, chainparams):
|
|||||||
if not chainparams['elements']:
|
if not chainparams['elements']:
|
||||||
# Also check snapshots
|
# Also check snapshots
|
||||||
expected_bals_2 = [
|
expected_bals_2 = [
|
||||||
{'blockheight': 101, 'accounts': [{'balance_msat': '0msat'}]},
|
{'blockheight': 101, 'accounts': [
|
||||||
{'blockheight': 108, 'accounts': [{'balance_msat': '995433000msat'}, {'balance_msat': '500000000msat'}, {'balance_msat': '499994999msat'}]},
|
{'balance_msat': '0msat', 'account_id': 'wallet'}
|
||||||
# There's a duplicate because we stop and restart l2 twice
|
]}
|
||||||
# (both times at block 108)
|
] + [
|
||||||
{'blockheight': 108, 'accounts': [{'balance_msat': '995433000msat'}, {'balance_msat': '500000000msat'}, {'balance_msat': '499994999msat'}]},
|
{'blockheight': 108, 'accounts': [
|
||||||
]
|
{'balance_msat': '995433000msat', 'account_id': 'wallet'},
|
||||||
|
{'balance_msat': '500000000msat', 'account_id': first_channel_id(l1, l2)},
|
||||||
|
{'balance_msat': '499994999msat', 'account_id': channel_id}]}
|
||||||
|
] * 2 # duplicated; we stop and restart l2 twice (both at block 108)
|
||||||
check_balance_snaps(l2, expected_bals_2)
|
check_balance_snaps(l2, expected_bals_2)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -109,14 +109,15 @@ def calc_lease_fee(amt, feerate, rates):
|
|||||||
return fee
|
return fee
|
||||||
|
|
||||||
|
|
||||||
|
def _dictify(balances):
|
||||||
|
return {b['account_id']: Millisatoshi(b['balance_msat']) for b in balances['accounts']}
|
||||||
|
|
||||||
|
|
||||||
def check_balance_snaps(n, expected_bals):
|
def check_balance_snaps(n, expected_bals):
|
||||||
snaps = n.rpc.listsnapshots()['balance_snapshots']
|
snaps = n.rpc.listsnapshots()['balance_snapshots']
|
||||||
for snap, exp in zip(snaps, expected_bals):
|
for snap, exp in zip(snaps, expected_bals):
|
||||||
assert snap['blockheight'] == exp['blockheight']
|
assert snap['blockheight'] == exp['blockheight']
|
||||||
for acct, exp_acct in zip(snap['accounts'], exp['accounts']):
|
assert _dictify(snap) == _dictify(exp)
|
||||||
# FIXME: also check 'account_id's (these change every run)
|
|
||||||
for item in ['balance_msat']:
|
|
||||||
assert Millisatoshi(acct[item]) == Millisatoshi(exp_acct[item])
|
|
||||||
|
|
||||||
|
|
||||||
def check_coin_moves(n, account_id, expected_moves, chainparams):
|
def check_coin_moves(n, account_id, expected_moves, chainparams):
|
||||||
|
|||||||
Reference in New Issue
Block a user