Skip to content

Commit 4f806f5

Browse files
authored
Merge pull request #2234 from dunxen/2023-04-bpteststemp
Use `env::temp_dir()` for BP tests
2 parents cbfff99 + 4abf3ba commit 4f806f5

File tree

1 file changed

+21
-19
lines changed
  • lightning-background-processor/src

1 file changed

+21
-19
lines changed

lightning-background-processor/src/lib.rs

+21-19
Original file line numberDiff line numberDiff line change
@@ -859,7 +859,7 @@ mod tests {
859859
use lightning::util::persist::KVStorePersister;
860860
use lightning_persister::FilesystemPersister;
861861
use std::collections::VecDeque;
862-
use std::fs;
862+
use std::{fs, env};
863863
use std::path::PathBuf;
864864
use std::sync::{Arc, Mutex};
865865
use std::sync::mpsc::SyncSender;
@@ -1116,7 +1116,9 @@ mod tests {
11161116
path.to_str().unwrap().to_string()
11171117
}
11181118

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();
11201122
let network = Network::Testnet;
11211123
let mut nodes = Vec::new();
11221124
for i in 0..num_nodes {
@@ -1129,7 +1131,7 @@ mod tests {
11291131
let seed = [i as u8; 32];
11301132
let router = Arc::new(DefaultRouter::new(network_graph.clone(), logger.clone(), seed, scorer.clone()));
11311133
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)));
11331135
let now = Duration::from_secs(genesis_block.header.time as u64);
11341136
let keys_manager = Arc::new(KeysManager::new(&seed, now.as_secs(), now.subsec_nanos()));
11351137
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 {
11511153
}
11521154
}
11531155

1154-
nodes
1156+
(persist_dir, nodes)
11551157
}
11561158

11571159
macro_rules! open_channel {
@@ -1223,7 +1225,7 @@ mod tests {
12231225
// Test that when a new channel is created, the ChannelManager needs to be re-persisted with
12241226
// updates. Also test that when new updates are available, the manager signals that it needs
12251227
// 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");
12271229

12281230
// Go through the channel creation process so that each node has something to persist. Since
12291231
// open_channel consumes events, it must complete before starting BackgroundProcessor to
@@ -1261,7 +1263,7 @@ mod tests {
12611263
}
12621264

12631265
// 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());
12651267
check_persisted_data!(nodes[0].node, filepath.clone());
12661268

12671269
loop {
@@ -1278,11 +1280,11 @@ mod tests {
12781280
}
12791281

12801282
// 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());
12821284
check_persisted_data!(nodes[0].network_graph, filepath.clone());
12831285

12841286
// 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());
12861288
check_persisted_data!(nodes[0].scorer, filepath.clone());
12871289

12881290
if !std::thread::panicking() {
@@ -1295,7 +1297,7 @@ mod tests {
12951297
// Test that `ChannelManager::timer_tick_occurred` is called every `FRESHNESS_TIMER`,
12961298
// `ChainMonitor::rebroadcast_pending_claims` is called every `REBROADCAST_TIMER`, and
12971299
// `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");
12991301
let data_dir = nodes[0].persister.get_data_dir();
13001302
let persister = Arc::new(Persister::new(data_dir));
13011303
let event_handler = |_: _| {};
@@ -1320,7 +1322,7 @@ mod tests {
13201322
#[test]
13211323
fn test_channel_manager_persist_error() {
13221324
// 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");
13241326
open_channel!(nodes[0], nodes[1], 100000);
13251327

13261328
let data_dir = nodes[0].persister.get_data_dir();
@@ -1340,7 +1342,7 @@ mod tests {
13401342
#[cfg(feature = "futures")]
13411343
async fn test_channel_manager_persist_error_async() {
13421344
// 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");
13441346
open_channel!(nodes[0], nodes[1], 100000);
13451347

13461348
let data_dir = nodes[0].persister.get_data_dir();
@@ -1368,7 +1370,7 @@ mod tests {
13681370
#[test]
13691371
fn test_network_graph_persist_error() {
13701372
// 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");
13721374
let data_dir = nodes[0].persister.get_data_dir();
13731375
let persister = Arc::new(Persister::new(data_dir).with_graph_error(std::io::ErrorKind::Other, "test"));
13741376
let event_handler = |_: _| {};
@@ -1386,7 +1388,7 @@ mod tests {
13861388
#[test]
13871389
fn test_scorer_persist_error() {
13881390
// 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");
13901392
let data_dir = nodes[0].persister.get_data_dir();
13911393
let persister = Arc::new(Persister::new(data_dir).with_scorer_error(std::io::ErrorKind::Other, "test"));
13921394
let event_handler = |_: _| {};
@@ -1403,7 +1405,7 @@ mod tests {
14031405

14041406
#[test]
14051407
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");
14071409
let channel_value = 100000;
14081410
let data_dir = nodes[0].persister.get_data_dir();
14091411
let persister = Arc::new(Persister::new(data_dir.clone()));
@@ -1477,7 +1479,7 @@ mod tests {
14771479

14781480
#[test]
14791481
fn test_scorer_persistence() {
1480-
let nodes = create_nodes(2, "test_scorer_persistence".to_string());
1482+
let (_, nodes) = create_nodes(2, "test_scorer_persistence");
14811483
let data_dir = nodes[0].persister.get_data_dir();
14821484
let persister = Arc::new(Persister::new(data_dir));
14831485
let event_handler = |_: _| {};
@@ -1549,7 +1551,7 @@ mod tests {
15491551
fn test_not_pruning_network_graph_until_graph_sync_completion() {
15501552
let (sender, receiver) = std::sync::mpsc::sync_channel(1);
15511553

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");
15531555
let data_dir = nodes[0].persister.get_data_dir();
15541556
let persister = Arc::new(Persister::new(data_dir).with_graph_persistence_notifier(sender));
15551557

@@ -1568,7 +1570,7 @@ mod tests {
15681570
async fn test_not_pruning_network_graph_until_graph_sync_completion_async() {
15691571
let (sender, receiver) = std::sync::mpsc::sync_channel(1);
15701572

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");
15721574
let data_dir = nodes[0].persister.get_data_dir();
15731575
let persister = Arc::new(Persister::new(data_dir).with_graph_persistence_notifier(sender));
15741576

@@ -1708,7 +1710,7 @@ mod tests {
17081710
_ => panic!("Unexpected event: {:?}", event),
17091711
};
17101712

1711-
let nodes = create_nodes(1, "test_payment_path_scoring".to_string());
1713+
let (_, nodes) = create_nodes(1, "test_payment_path_scoring");
17121714
let data_dir = nodes[0].persister.get_data_dir();
17131715
let persister = Arc::new(Persister::new(data_dir));
17141716
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 {
17371739
}
17381740
};
17391741

1740-
let nodes = create_nodes(1, "test_payment_path_scoring_async".to_string());
1742+
let (_, nodes) = create_nodes(1, "test_payment_path_scoring_async");
17411743
let data_dir = nodes[0].persister.get_data_dir();
17421744
let persister = Arc::new(Persister::new(data_dir));
17431745

0 commit comments

Comments
 (0)