You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When reloading a node in the test framework, we end up with a new
`ChannelManager` that has references to various test util structs.
In order for the tests to compile reliably in the face of unrelated
changes, those test structs need to always be initialized before
both the new but also the original `ChannelManager`.
Here we make that change.
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
2312
+
let persister;
2313
+
let new_chain_monitor;
2312
2314
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
2313
-
let persister: test_utils::TestPersister;
2314
-
let new_chain_monitor: test_utils::TestChainMonitor;
2315
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
2853
2853
2854
-
let persister: test_utils::TestPersister;
2855
-
let new_chain_monitor: test_utils::TestChainMonitor;
2856
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
2943
2944
2944
-
let persister: test_utils::TestPersister;
2945
-
let new_chain_monitor: test_utils::TestChainMonitor;
2946
-
let nodes_1_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// which has separate codepaths for "commitment transaction already confirmed" and not.
515
515
let chanmon_cfgs = create_chanmon_cfgs(3);
516
516
let node_cfgs = create_node_cfgs(3,&chanmon_cfgs);
517
+
let persister;
518
+
let new_chain_monitor;
517
519
let node_chanmgrs = create_node_chanmgrs(3,&node_cfgs,&[None,None,None]);
518
-
let persister: test_utils::TestPersister;
519
-
let new_chain_monitor: test_utils::TestChainMonitor;
520
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
let node_chanmgrs = create_node_chanmgrs(3,&node_cfgs,&[None,Some(manually_accept_config),None]);
717
+
let first_persister;
718
+
let first_new_chain_monitor;
719
+
let second_persister;
720
+
let second_new_chain_monitor;
721
+
let third_persister;
722
+
let third_new_chain_monitor;
718
723
719
-
let first_persister: test_utils::TestPersister;
720
-
let first_new_chain_monitor: test_utils::TestChainMonitor;
721
-
let first_nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
722
-
let second_persister: test_utils::TestPersister;
723
-
let second_new_chain_monitor: test_utils::TestChainMonitor;
724
-
let second_nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
725
-
let third_persister: test_utils::TestPersister;
726
-
let third_new_chain_monitor: test_utils::TestChainMonitor;
727
-
let third_nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
724
+
let node_chanmgrs = create_node_chanmgrs(3,&node_cfgs,&[None,Some(manually_accept_config),None]);
@@ -913,10 +913,10 @@ fn do_test_dup_htlc_onchain_fails_on_reload(persist_manager_post_event: bool, co
913
913
// duplicate HTLC fail/claim (e.g. via a PaymentPathFailed event).
914
914
let chanmon_cfgs = create_chanmon_cfgs(2);
915
915
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
916
+
let persister;
917
+
let new_chain_monitor;
916
918
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
917
-
let persister: test_utils::TestPersister;
918
-
let new_chain_monitor: test_utils::TestChainMonitor;
919
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// handle it, we should test the logic for it anyway. We do that here.
1055
1055
let chanmon_cfgs = create_chanmon_cfgs(2);
1056
1056
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
1057
+
let persister;
1058
+
let new_chain_monitor;
1057
1059
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
1058
-
let persister: test_utils::TestPersister;
1059
-
let new_chain_monitor: test_utils::TestChainMonitor;
1060
-
let nodes_1_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// Test that we can lock in our funding tx while disconnected
39
39
let chanmon_cfgs = create_chanmon_cfgs(2);
40
40
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
41
+
let persister;
42
+
let new_chain_monitor;
43
+
41
44
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
42
-
let persister: test_utils::TestPersister;
43
-
let new_chain_monitor: test_utils::TestChainMonitor;
44
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
193
+
let persister;
194
+
let new_chain_monitor;
195
+
192
196
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
193
-
let persister: test_utils::TestPersister;
194
-
let new_chain_monitor: test_utils::TestChainMonitor;
195
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// This test makes sure the events field in ChannelManager survives de/serialization
234
236
let chanmon_cfgs = create_chanmon_cfgs(2);
235
237
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
238
+
let persister;
239
+
let new_chain_monitor;
240
+
236
241
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
237
-
let persister: test_utils::TestPersister;
238
-
let new_chain_monitor: test_utils::TestChainMonitor;
239
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
327
+
let persister;
328
+
let new_chain_monitor;
329
+
324
330
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
325
-
let persister: test_utils::TestPersister;
326
-
let new_chain_monitor: test_utils::TestChainMonitor;
327
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// Test deserializing a ChannelManager with an out-of-date ChannelMonitor
348
352
let chanmon_cfgs = create_chanmon_cfgs(4);
349
353
let node_cfgs = create_node_cfgs(4,&chanmon_cfgs);
354
+
let logger;
355
+
let fee_estimator;
356
+
let persister;
357
+
let new_chain_monitor;
358
+
350
359
let node_chanmgrs = create_node_chanmgrs(4,&node_cfgs,&[None,None,None,None]);
351
-
let logger: test_utils::TestLogger;
352
-
let fee_estimator: test_utils::TestFeeEstimator;
353
-
let persister: test_utils::TestPersister;
354
-
let new_chain_monitor: test_utils::TestChainMonitor;
355
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
// around freeing background events which store monitor updates during block_[dis]connected.
245
245
let chanmon_cfgs = create_chanmon_cfgs(2);
246
246
let node_cfgs = create_node_cfgs(2,&chanmon_cfgs);
247
+
let persister;
248
+
let new_chain_monitor;
249
+
247
250
let node_chanmgrs = create_node_chanmgrs(2,&node_cfgs,&[None,None]);
248
-
let persister: test_utils::TestPersister;
249
-
let new_chain_monitor: test_utils::TestChainMonitor;
250
-
let nodes_0_deserialized:ChannelManager<&test_utils::TestChainMonitor,&test_utils::TestBroadcaster,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestKeysInterface,&test_utils::TestFeeEstimator,&test_utils::TestRouter,&test_utils::TestLogger>;
0 commit comments