Skip to content

Commit acddd7e

Browse files
committed
f moar test
1 parent 66a963b commit acddd7e

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

lightning/src/ln/payment_tests.rs

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2756,9 +2756,9 @@ fn do_no_missing_sent_on_midpoint_reload(persist_manager_with_payment: bool) {
27562756
let chanmon_cfgs = create_chanmon_cfgs(2);
27572757
let node_cfgs = create_node_cfgs(2, &chanmon_cfgs);
27582758
let node_chanmgrs = create_node_chanmgrs(2, &node_cfgs, &[None, None]);
2759-
let (persister_a, persister_b);
2760-
let (chain_monitor_a, chain_monitor_b);
2761-
let (nodes_0_deserialized, nodes_0_deserialized_b);
2759+
let (persister_a, persister_b, persister_c);
2760+
let (chain_monitor_a, chain_monitor_b, chain_monitor_c);
2761+
let (nodes_0_deserialized, nodes_0_deserialized_b, nodes_0_deserialized_c);
27622762
let mut nodes = create_network(2, &node_cfgs, &node_chanmgrs);
27632763

27642764
let chan_id = create_announced_chan_between_nodes(&nodes, 0, 1).2;
@@ -2794,6 +2794,8 @@ fn do_no_missing_sent_on_midpoint_reload(persist_manager_with_payment: bool) {
27942794
if let Event::PaymentSent { payment_preimage, .. } = events[1] { assert_eq!(payment_preimage, our_payment_preimage); } else { panic!(); }
27952795
// Note that we don't get a PaymentPathSuccessful here as we leave the HTLC pending to avoid
27962796
// the double-claim that would otherwise appear at the end of this test.
2797+
let as_broadcasted_txn = nodes[0].tx_broadcaster.txn_broadcasted.lock().unwrap().split_off(0);
2798+
assert_eq!(as_broadcasted_txn.len(), 1);
27972799

27982800
// Ensure that, even after some time, if we restart we still include *something* in the current
27992801
// `ChannelManager` which prevents a `PaymentFailed` when we restart even if pending resolved
@@ -2806,6 +2808,19 @@ fn do_no_missing_sent_on_midpoint_reload(persist_manager_with_payment: bool) {
28062808
reload_node!(nodes[0], test_default_channel_config(), &nodes[0].node.encode(), &[&chan_0_monitor_serialized], persister_b, chain_monitor_b, nodes_0_deserialized_b);
28072809
let events = nodes[0].node.get_and_clear_pending_events();
28082810
assert!(events.is_empty());
2811+
2812+
// Ensure that we don't generate any further events even after the channel-closing commitment
2813+
// transaction is confirmed on-chain.
2814+
confirm_transaction(&nodes[0], &as_broadcasted_txn[0]);
2815+
for _ in 0..(IDEMPOTENCY_TIMEOUT_TICKS * 2) { nodes[0].node.timer_tick_occurred(); }
2816+
2817+
let events = nodes[0].node.get_and_clear_pending_events();
2818+
assert!(events.is_empty());
2819+
2820+
let chan_0_monitor_serialized = get_monitor!(nodes[0], chan_id).encode();
2821+
reload_node!(nodes[0], test_default_channel_config(), &nodes[0].node.encode(), &[&chan_0_monitor_serialized], persister_c, chain_monitor_c, nodes_0_deserialized_c);
2822+
let events = nodes[0].node.get_and_clear_pending_events();
2823+
assert!(events.is_empty());
28092824
}
28102825

28112826
#[test]

0 commit comments

Comments
 (0)