mirror of
https://github.com/aljazceru/lightning.git
synced 2025-12-21 16:14:23 +01:00
df-tests: update to take 'no channel_id' into account; use exp-df flag
The logs we're looking for don't exist anymore, we got rid of them.
This commit is contained in:
@@ -105,53 +105,6 @@ def test_v2_open_sigs_restart(node_factory, bitcoind):
|
|||||||
disconnects_1 = ['-WIRE_TX_SIGNATURES']
|
disconnects_1 = ['-WIRE_TX_SIGNATURES']
|
||||||
disconnects_2 = ['+WIRE_TX_SIGNATURES']
|
disconnects_2 = ['+WIRE_TX_SIGNATURES']
|
||||||
|
|
||||||
l1, l2 = node_factory.get_nodes(2,
|
|
||||||
opts=[{'dev-force-features': '+223',
|
|
||||||
'disconnect': disconnects_1,
|
|
||||||
'may_reconnect': True},
|
|
||||||
{'dev-force-features': '+223',
|
|
||||||
'disconnect': disconnects_2,
|
|
||||||
'may_reconnect': True}])
|
|
||||||
|
|
||||||
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
|
||||||
amount = 2**24
|
|
||||||
chan_amount = 100000
|
|
||||||
bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
|
|
||||||
bitcoind.generate_block(1)
|
|
||||||
# Wait for it to arrive.
|
|
||||||
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
|
|
||||||
|
|
||||||
# Fund the channel, should appear to finish ok even though the
|
|
||||||
# peer fails
|
|
||||||
with pytest.raises(RpcError):
|
|
||||||
l1.rpc.fundchannel(l2.info['id'], chan_amount)
|
|
||||||
|
|
||||||
chan_id = first_channel_id(l1, l2)
|
|
||||||
log = l1.daemon.is_in_log('{} psbt'.format(chan_id))
|
|
||||||
psbt = re.search("psbt (.*)", log).group(1)
|
|
||||||
|
|
||||||
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
|
||||||
l1.daemon.wait_for_log('Peer has reconnected, state DUALOPEND_OPEN_INIT')
|
|
||||||
with pytest.raises(RpcError):
|
|
||||||
l1.rpc.openchannel_signed(chan_id, psbt)
|
|
||||||
|
|
||||||
l2.daemon.wait_for_log('Broadcasting funding tx')
|
|
||||||
txid = l2.rpc.listpeers(l1.info['id'])['peers'][0]['channels'][0]['funding_txid']
|
|
||||||
bitcoind.generate_block(6, wait_for_mempool=txid)
|
|
||||||
|
|
||||||
# Make sure we're ok.
|
|
||||||
l2.daemon.wait_for_log(r'to CHANNELD_NORMAL')
|
|
||||||
l1.daemon.wait_for_log(r'to CHANNELD_NORMAL')
|
|
||||||
|
|
||||||
|
|
||||||
@unittest.skipIf(TEST_NETWORK != 'regtest', 'elementsd doesnt yet support PSBT features we need')
|
|
||||||
@unittest.skipIf(not DEVELOPER, "uses dev-disconnect")
|
|
||||||
def test_v2_open_sigs_restart_while_dead(node_factory, bitcoind):
|
|
||||||
# Same thing as above, except the transaction mines
|
|
||||||
# while we're asleep
|
|
||||||
disconnects_1 = ['-WIRE_TX_SIGNATURES']
|
|
||||||
disconnects_2 = ['+WIRE_TX_SIGNATURES']
|
|
||||||
|
|
||||||
l1, l2 = node_factory.get_nodes(2,
|
l1, l2 = node_factory.get_nodes(2,
|
||||||
opts=[{'experimental-dual-fund': None,
|
opts=[{'experimental-dual-fund': None,
|
||||||
'disconnect': disconnects_1,
|
'disconnect': disconnects_1,
|
||||||
@@ -175,6 +128,57 @@ def test_v2_open_sigs_restart_while_dead(node_factory, bitcoind):
|
|||||||
|
|
||||||
chan_id = first_channel_id(l1, l2)
|
chan_id = first_channel_id(l1, l2)
|
||||||
log = l1.daemon.is_in_log('{} psbt'.format(chan_id))
|
log = l1.daemon.is_in_log('{} psbt'.format(chan_id))
|
||||||
|
assert log
|
||||||
|
psbt = re.search("psbt (.*)", log).group(1)
|
||||||
|
|
||||||
|
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
||||||
|
l1.daemon.wait_for_log('Peer has reconnected, state DUALOPEND_OPEN_INIT')
|
||||||
|
with pytest.raises(RpcError):
|
||||||
|
l1.rpc.openchannel_signed(chan_id, psbt)
|
||||||
|
|
||||||
|
l2.daemon.wait_for_log('Broadcasting funding tx')
|
||||||
|
txid = l2.rpc.listpeers(l1.info['id'])['peers'][0]['channels'][0]['funding_txid']
|
||||||
|
bitcoind.generate_block(6, wait_for_mempool=txid)
|
||||||
|
|
||||||
|
# Make sure we're ok.
|
||||||
|
l1.daemon.wait_for_log(r'to CHANNELD_NORMAL')
|
||||||
|
l2.daemon.wait_for_log(r'to CHANNELD_NORMAL')
|
||||||
|
|
||||||
|
|
||||||
|
@unittest.skipIf(TEST_NETWORK != 'regtest', 'elementsd doesnt yet support PSBT features we need')
|
||||||
|
@unittest.skipIf(not DEVELOPER, "uses dev-disconnect")
|
||||||
|
def test_v2_open_sigs_restart_while_dead(node_factory, bitcoind):
|
||||||
|
# Same thing as above, except the transaction mines
|
||||||
|
# while we're asleep
|
||||||
|
disconnects_1 = ['-WIRE_TX_SIGNATURES']
|
||||||
|
disconnects_2 = ['+WIRE_TX_SIGNATURES']
|
||||||
|
|
||||||
|
l1, l2 = node_factory.get_nodes(2,
|
||||||
|
opts=[{'experimental-dual-fund': None,
|
||||||
|
'disconnect': disconnects_1,
|
||||||
|
'may_reconnect': True,
|
||||||
|
'may_fail': True},
|
||||||
|
{'experimental-dual-fund': None,
|
||||||
|
'disconnect': disconnects_2,
|
||||||
|
'may_reconnect': True,
|
||||||
|
'may_fail': True}])
|
||||||
|
|
||||||
|
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
||||||
|
amount = 2**24
|
||||||
|
chan_amount = 100000
|
||||||
|
bitcoind.rpc.sendtoaddress(l1.rpc.newaddr()['bech32'], amount / 10**8 + 0.01)
|
||||||
|
bitcoind.generate_block(1)
|
||||||
|
# Wait for it to arrive.
|
||||||
|
wait_for(lambda: len(l1.rpc.listfunds()['outputs']) > 0)
|
||||||
|
|
||||||
|
# Fund the channel, should appear to finish ok even though the
|
||||||
|
# peer fails
|
||||||
|
with pytest.raises(RpcError):
|
||||||
|
l1.rpc.fundchannel(l2.info['id'], chan_amount)
|
||||||
|
|
||||||
|
chan_id = first_channel_id(l1, l2)
|
||||||
|
log = l1.daemon.is_in_log('{} psbt'.format(chan_id))
|
||||||
|
assert log
|
||||||
psbt = re.search("psbt (.*)", log).group(1)
|
psbt = re.search("psbt (.*)", log).group(1)
|
||||||
|
|
||||||
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
l1.rpc.connect(l2.info['id'], 'localhost', l2.port)
|
||||||
|
|||||||
Reference in New Issue
Block a user