test_lightningd.py: more information when we fail to find payment.

Travis has been hitting this intermittantly, can't reproduce here.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2017-10-27 20:38:27 +10:30
committed by Christian Decker
parent 0c7ca9ab7c
commit 2aadd351f8

View File

@@ -237,12 +237,13 @@ class LightningDTests(BaseLightningDTests):
l2.daemon.wait_for_log('-> CHANNELD_NORMAL')
# Hacky way to find our output.
for out in bitcoind.rpc.decoderawtransaction(tx)['vout']:
decoded=bitcoind.rpc.decoderawtransaction(tx)['vout']
for out in decoded:
# Sometimes a float? Sometimes a decimal? WTF Python?!
if out['scriptPubKey']['type'] == 'witness_v0_scripthash':
if out['value'] == Decimal(amount) / 10**8 or out['value'] * 10**8 == amount:
return "{}:1:{}".format(bitcoind.rpc.getblockcount(), out['n'])
raise ValueError("Can't find {} payment in {}".format(amount, tx))
raise ValueError("Can't find {} payment in {} ({})".format(amount, tx, decoded))
def pay(self, lsrc, ldst, amt, label=None, async=False):
if not label: