@@ -859,7 +859,7 @@ mod tests {
859
859
use lightning:: util:: persist:: KVStorePersister ;
860
860
use lightning_persister:: FilesystemPersister ;
861
861
use std:: collections:: VecDeque ;
862
- use std:: fs ;
862
+ use std:: { fs , env } ;
863
863
use std:: path:: PathBuf ;
864
864
use std:: sync:: { Arc , Mutex } ;
865
865
use std:: sync:: mpsc:: SyncSender ;
@@ -1116,7 +1116,9 @@ mod tests {
1116
1116
path. to_str ( ) . unwrap ( ) . to_string ( )
1117
1117
}
1118
1118
1119
- fn create_nodes ( num_nodes : usize , persist_dir : String ) -> Vec < Node > {
1119
+ fn create_nodes ( num_nodes : usize , persist_dir : & str ) -> ( String , Vec < Node > ) {
1120
+ let persist_temp_path = env:: temp_dir ( ) . join ( persist_dir) ;
1121
+ let persist_dir = persist_temp_path. to_string_lossy ( ) . to_string ( ) ;
1120
1122
let network = Network :: Testnet ;
1121
1123
let mut nodes = Vec :: new ( ) ;
1122
1124
for i in 0 ..num_nodes {
@@ -1129,7 +1131,7 @@ mod tests {
1129
1131
let seed = [ i as u8 ; 32 ] ;
1130
1132
let router = Arc :: new ( DefaultRouter :: new ( network_graph. clone ( ) , logger. clone ( ) , seed, scorer. clone ( ) ) ) ;
1131
1133
let chain_source = Arc :: new ( test_utils:: TestChainSource :: new ( Network :: Testnet ) ) ;
1132
- let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , persist_dir, i) ) ) ;
1134
+ let persister = Arc :: new ( FilesystemPersister :: new ( format ! ( "{}_persister_{}" , & persist_dir, i) ) ) ;
1133
1135
let now = Duration :: from_secs ( genesis_block. header . time as u64 ) ;
1134
1136
let keys_manager = Arc :: new ( KeysManager :: new ( & seed, now. as_secs ( ) , now. subsec_nanos ( ) ) ) ;
1135
1137
let chain_monitor = Arc :: new ( chainmonitor:: ChainMonitor :: new ( Some ( chain_source. clone ( ) ) , tx_broadcaster. clone ( ) , logger. clone ( ) , fee_estimator. clone ( ) , persister. clone ( ) ) ) ;
@@ -1151,7 +1153,7 @@ mod tests {
1151
1153
}
1152
1154
}
1153
1155
1154
- nodes
1156
+ ( persist_dir , nodes)
1155
1157
}
1156
1158
1157
1159
macro_rules! open_channel {
@@ -1223,7 +1225,7 @@ mod tests {
1223
1225
// Test that when a new channel is created, the ChannelManager needs to be re-persisted with
1224
1226
// updates. Also test that when new updates are available, the manager signals that it needs
1225
1227
// re-persistence and is successfully re-persisted.
1226
- let nodes = create_nodes ( 2 , "test_background_processor" . to_string ( ) ) ;
1228
+ let ( persist_dir , nodes) = create_nodes ( 2 , "test_background_processor" ) ;
1227
1229
1228
1230
// Go through the channel creation process so that each node has something to persist. Since
1229
1231
// open_channel consumes events, it must complete before starting BackgroundProcessor to
@@ -1261,7 +1263,7 @@ mod tests {
1261
1263
}
1262
1264
1263
1265
// Check that the initial channel manager data is persisted as expected.
1264
- let filepath = get_full_filepath ( "test_background_processor_persister_0" . to_string ( ) , "manager" . to_string ( ) ) ;
1266
+ let filepath = get_full_filepath ( format ! ( "{}_persister_0" , & persist_dir ) , "manager" . to_string ( ) ) ;
1265
1267
check_persisted_data ! ( nodes[ 0 ] . node, filepath. clone( ) ) ;
1266
1268
1267
1269
loop {
@@ -1278,11 +1280,11 @@ mod tests {
1278
1280
}
1279
1281
1280
1282
// Check network graph is persisted
1281
- let filepath = get_full_filepath ( "test_background_processor_persister_0" . to_string ( ) , "network_graph" . to_string ( ) ) ;
1283
+ let filepath = get_full_filepath ( format ! ( "{}_persister_0" , & persist_dir ) , "network_graph" . to_string ( ) ) ;
1282
1284
check_persisted_data ! ( nodes[ 0 ] . network_graph, filepath. clone( ) ) ;
1283
1285
1284
1286
// Check scorer is persisted
1285
- let filepath = get_full_filepath ( "test_background_processor_persister_0" . to_string ( ) , "scorer" . to_string ( ) ) ;
1287
+ let filepath = get_full_filepath ( format ! ( "{}_persister_0" , & persist_dir ) , "scorer" . to_string ( ) ) ;
1286
1288
check_persisted_data ! ( nodes[ 0 ] . scorer, filepath. clone( ) ) ;
1287
1289
1288
1290
if !std:: thread:: panicking ( ) {
@@ -1295,7 +1297,7 @@ mod tests {
1295
1297
// Test that `ChannelManager::timer_tick_occurred` is called every `FRESHNESS_TIMER`,
1296
1298
// `ChainMonitor::rebroadcast_pending_claims` is called every `REBROADCAST_TIMER`, and
1297
1299
// `PeerManager::timer_tick_occurred` every `PING_TIMER`.
1298
- let nodes = create_nodes ( 1 , "test_timer_tick_called" . to_string ( ) ) ;
1300
+ let ( _ , nodes) = create_nodes ( 1 , "test_timer_tick_called" ) ;
1299
1301
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1300
1302
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1301
1303
let event_handler = |_: _ | { } ;
@@ -1320,7 +1322,7 @@ mod tests {
1320
1322
#[ test]
1321
1323
fn test_channel_manager_persist_error ( ) {
1322
1324
// Test that if we encounter an error during manager persistence, the thread panics.
1323
- let nodes = create_nodes ( 2 , "test_persist_error" . to_string ( ) ) ;
1325
+ let ( _ , nodes) = create_nodes ( 2 , "test_persist_error" ) ;
1324
1326
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
1325
1327
1326
1328
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
@@ -1340,7 +1342,7 @@ mod tests {
1340
1342
#[ cfg( feature = "futures" ) ]
1341
1343
async fn test_channel_manager_persist_error_async ( ) {
1342
1344
// Test that if we encounter an error during manager persistence, the thread panics.
1343
- let nodes = create_nodes ( 2 , "test_persist_error_sync" . to_string ( ) ) ;
1345
+ let ( _ , nodes) = create_nodes ( 2 , "test_persist_error_sync" ) ;
1344
1346
open_channel ! ( nodes[ 0 ] , nodes[ 1 ] , 100000 ) ;
1345
1347
1346
1348
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
@@ -1368,7 +1370,7 @@ mod tests {
1368
1370
#[ test]
1369
1371
fn test_network_graph_persist_error ( ) {
1370
1372
// Test that if we encounter an error during network graph persistence, an error gets returned.
1371
- let nodes = create_nodes ( 2 , "test_persist_network_graph_error" . to_string ( ) ) ;
1373
+ let ( _ , nodes) = create_nodes ( 2 , "test_persist_network_graph_error" ) ;
1372
1374
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1373
1375
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1374
1376
let event_handler = |_: _ | { } ;
@@ -1386,7 +1388,7 @@ mod tests {
1386
1388
#[ test]
1387
1389
fn test_scorer_persist_error ( ) {
1388
1390
// Test that if we encounter an error during scorer persistence, an error gets returned.
1389
- let nodes = create_nodes ( 2 , "test_persist_scorer_error" . to_string ( ) ) ;
1391
+ let ( _ , nodes) = create_nodes ( 2 , "test_persist_scorer_error" ) ;
1390
1392
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1391
1393
let persister = Arc :: new ( Persister :: new ( data_dir) . with_scorer_error ( std:: io:: ErrorKind :: Other , "test" ) ) ;
1392
1394
let event_handler = |_: _ | { } ;
@@ -1403,7 +1405,7 @@ mod tests {
1403
1405
1404
1406
#[ test]
1405
1407
fn test_background_event_handling ( ) {
1406
- let mut nodes = create_nodes ( 2 , "test_background_event_handling" . to_string ( ) ) ;
1408
+ let ( _ , mut nodes) = create_nodes ( 2 , "test_background_event_handling" ) ;
1407
1409
let channel_value = 100000 ;
1408
1410
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1409
1411
let persister = Arc :: new ( Persister :: new ( data_dir. clone ( ) ) ) ;
@@ -1477,7 +1479,7 @@ mod tests {
1477
1479
1478
1480
#[ test]
1479
1481
fn test_scorer_persistence ( ) {
1480
- let nodes = create_nodes ( 2 , "test_scorer_persistence" . to_string ( ) ) ;
1482
+ let ( _ , nodes) = create_nodes ( 2 , "test_scorer_persistence" ) ;
1481
1483
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1482
1484
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1483
1485
let event_handler = |_: _ | { } ;
@@ -1549,7 +1551,7 @@ mod tests {
1549
1551
fn test_not_pruning_network_graph_until_graph_sync_completion ( ) {
1550
1552
let ( sender, receiver) = std:: sync:: mpsc:: sync_channel ( 1 ) ;
1551
1553
1552
- let nodes = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion" . to_string ( ) ) ;
1554
+ let ( _ , nodes) = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion" ) ;
1553
1555
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1554
1556
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
1555
1557
@@ -1568,7 +1570,7 @@ mod tests {
1568
1570
async fn test_not_pruning_network_graph_until_graph_sync_completion_async ( ) {
1569
1571
let ( sender, receiver) = std:: sync:: mpsc:: sync_channel ( 1 ) ;
1570
1572
1571
- let nodes = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" . to_string ( ) ) ;
1573
+ let ( _ , nodes) = create_nodes ( 2 , "test_not_pruning_network_graph_until_graph_sync_completion_async" ) ;
1572
1574
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1573
1575
let persister = Arc :: new ( Persister :: new ( data_dir) . with_graph_persistence_notifier ( sender) ) ;
1574
1576
@@ -1708,7 +1710,7 @@ mod tests {
1708
1710
_ => panic ! ( "Unexpected event: {:?}" , event) ,
1709
1711
} ;
1710
1712
1711
- let nodes = create_nodes ( 1 , "test_payment_path_scoring" . to_string ( ) ) ;
1713
+ let ( _ , nodes) = create_nodes ( 1 , "test_payment_path_scoring" ) ;
1712
1714
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1713
1715
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1714
1716
let bg_processor = BackgroundProcessor :: start ( persister, event_handler, nodes[ 0 ] . chain_monitor . clone ( ) , nodes[ 0 ] . node . clone ( ) , nodes[ 0 ] . no_gossip_sync ( ) , nodes[ 0 ] . peer_manager . clone ( ) , nodes[ 0 ] . logger . clone ( ) , Some ( nodes[ 0 ] . scorer . clone ( ) ) ) ;
@@ -1737,7 +1739,7 @@ mod tests {
1737
1739
}
1738
1740
} ;
1739
1741
1740
- let nodes = create_nodes ( 1 , "test_payment_path_scoring_async" . to_string ( ) ) ;
1742
+ let ( _ , nodes) = create_nodes ( 1 , "test_payment_path_scoring_async" ) ;
1741
1743
let data_dir = nodes[ 0 ] . persister . get_data_dir ( ) ;
1742
1744
let persister = Arc :: new ( Persister :: new ( data_dir) ) ;
1743
1745
0 commit comments