(node_factory, executor)
| 3710 | |
| 3711 | |
| 3712 | def test_htlc_retransmit_order(node_factory, executor): |
| 3713 | NUM_HTLCS = 10 |
| 3714 | l1, l2 = node_factory.line_graph(2, |
| 3715 | opts=[{'may_reconnect': True, |
| 3716 | 'feerates': (7500, 7500, 7500, 7500), |
| 3717 | 'disconnect': ['=WIRE_UPDATE_ADD_HTLC*' + str(NUM_HTLCS), |
| 3718 | '-WIRE_COMMITMENT_SIGNED'], |
| 3719 | 'dev-disable-commit-after': 0}, |
| 3720 | {'may_reconnect': True}]) |
| 3721 | invoices = [l2.rpc.invoice(1000, str(x), str(x)) for x in range(NUM_HTLCS)] |
| 3722 | |
| 3723 | routestep = { |
| 3724 | 'amount_msat': 1000, |
| 3725 | 'id': l2.info['id'], |
| 3726 | 'delay': 5, |
| 3727 | 'channel': first_scid(l1, l2) |
| 3728 | } |
| 3729 | for inv in invoices: |
| 3730 | executor.submit(l1.rpc.sendpay, [routestep], inv['payment_hash'], payment_secret=inv['payment_secret']) |
| 3731 | |
| 3732 | l1.daemon.wait_for_log('dev_disconnect') |
| 3733 | l1.rpc.call('dev-reenable-commit', [l2.info['id']]) |
| 3734 | l1.daemon.wait_for_log('dev_disconnect') |
| 3735 | |
| 3736 | # Now reconnect. |
| 3737 | l1.rpc.connect(l2.info['id'], 'localhost', port=l2.port) |
| 3738 | |
| 3739 | for inv in invoices: |
| 3740 | result = l1.rpc.waitsendpay(inv['payment_hash']) |
| 3741 | assert(result['status'] == 'complete') |
| 3742 | |
| 3743 | # If order was wrong, we'll get a LOG_BROKEN and fixtures will complain. |
| 3744 | |
| 3745 | |
| 3746 | @unittest.skipIf(True, "Currently failing, see tracking issue #4265") |
nothing calls this directly
no test coverage detected