Skip to content

Commit 340f7de

Browse files
committed
f drop TestNode changes
1 parent 14d5243 commit 340f7de

File tree

6 files changed

+30
-89
lines changed

6 files changed

+30
-89
lines changed

benches/payments.rs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use bitcoin::hex::DisplayHex;
88
use bitcoin::Amount;
99
use common::{
1010
expect_channel_ready_event, generate_blocks_and_wait, premine_and_distribute_funds,
11-
setup_bitcoind_and_electrsd, setup_two_nodes_with_store, TestChainSource, TestNode,
11+
setup_bitcoind_and_electrsd, setup_two_nodes_with_store, TestChainSource,
1212
};
1313
use criterion::{criterion_group, criterion_main, Criterion};
1414
use ldk_node::{Event, Node};
@@ -18,7 +18,7 @@ use tokio::task::{self};
1818

1919
use crate::common::open_channel_push_amt;
2020

21-
fn spawn_payment(node_a: Arc<TestNode>, node_b: Arc<TestNode>, amount_msat: u64) {
21+
fn spawn_payment(node_a: Arc<Node>, node_b: Arc<Node>, amount_msat: u64) {
2222
let mut preimage_bytes = [0u8; 32];
2323
rand::rng().fill_bytes(&mut preimage_bytes);
2424
let preimage = PaymentPreimage(preimage_bytes);
@@ -61,7 +61,7 @@ fn spawn_payment(node_a: Arc<TestNode>, node_b: Arc<TestNode>, amount_msat: u64)
6161
});
6262
}
6363

64-
async fn send_payments(node_a: Arc<TestNode>, node_b: Arc<TestNode>) -> std::time::Duration {
64+
async fn send_payments(node_a: Arc<Node>, node_b: Arc<Node>) -> std::time::Duration {
6565
let start = Instant::now();
6666

6767
let total_payments = 1000;

src/lib.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1784,6 +1784,12 @@ impl Node {
17841784
}
17851785
}
17861786

1787+
impl Drop for Node {
1788+
fn drop(&mut self) {
1789+
let _ = self.stop();
1790+
}
1791+
}
1792+
17871793
/// Represents the status of the [`Node`].
17881794
#[derive(Clone, Debug, PartialEq, Eq)]
17891795
pub struct NodeStatus {

src/logger.rs

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,14 +171,6 @@ impl LogWriter for Writer {
171171
}
172172
}
173173

174-
#[cfg(cycle_tests)]
175-
/// Our log writer
176-
pub struct Logger {
177-
/// Specifies the logger's writer.
178-
writer: Writer,
179-
}
180-
181-
#[cfg(not(cycle_tests))]
182174
pub(crate) struct Logger {
183175
/// Specifies the logger's writer.
184176
writer: Writer,
@@ -203,12 +195,10 @@ impl Logger {
203195
Ok(Self { writer: Writer::FileWriter { file_path, max_log_level } })
204196
}
205197

206-
/// Creates a new logger writing to the `log` crate
207198
pub fn new_log_facade() -> Self {
208199
Self { writer: Writer::LogFacadeWriter }
209200
}
210201

211-
/// Creates a new logger writing to an underlying [`LogWriter`]
212202
pub fn new_custom_writer(log_writer: Arc<dyn LogWriter>) -> Self {
213203
Self { writer: Writer::CustomWriter(log_writer) }
214204
}

tests/common/mod.rs

Lines changed: 3 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@ pub(crate) mod logging;
1313
use std::collections::{HashMap, HashSet};
1414
use std::env;
1515
use std::future::Future;
16-
use std::ops::Deref;
1716
use std::path::PathBuf;
1817
use std::sync::{Arc, RwLock};
1918
use std::time::Duration;
@@ -262,53 +261,10 @@ pub(crate) fn random_config(anchor_channels: bool) -> TestConfig {
262261
TestConfig { node_config, ..Default::default() }
263262
}
264263

265-
pub struct TestNode {
266-
#[cfg(feature = "uniffi")]
267-
inner: Option<Arc<Node>>,
268-
#[cfg(not(feature = "uniffi"))]
269-
inner: Option<Node>,
270-
}
271-
272264
#[cfg(feature = "uniffi")]
273-
impl From<Arc<Node>> for TestNode {
274-
fn from(inner: Arc<Node>) -> Self {
275-
Self { inner: Some(inner) }
276-
}
277-
}
278-
265+
type TestNode = Arc<Node>;
279266
#[cfg(not(feature = "uniffi"))]
280-
impl From<Node> for TestNode {
281-
fn from(inner: Node) -> Self {
282-
Self { inner: Some(inner) }
283-
}
284-
}
285-
286-
impl Deref for TestNode {
287-
type Target = Node;
288-
fn deref(&self) -> &Node {
289-
#[cfg(feature = "uniffi")]
290-
{
291-
self.inner.as_ref().unwrap().deref()
292-
}
293-
#[cfg(not(feature = "uniffi"))]
294-
{
295-
&self.inner.as_ref().unwrap()
296-
}
297-
}
298-
}
299-
300-
#[cfg(cycle_tests)]
301-
impl Drop for TestNode {
302-
fn drop(&mut self) {
303-
if !std::thread::panicking() {
304-
match self.inner.take().unwrap().stop() {
305-
Ok(()) => {},
306-
Err(e) if e == NodeError::NotRunning => {},
307-
Err(e) => panic!("{e:?}"),
308-
}
309-
}
310-
}
311-
}
267+
type TestNode = Node;
312268

313269
#[derive(Clone)]
314270
pub(crate) enum TestChainSource<'a> {
@@ -474,7 +430,7 @@ pub(crate) fn setup_node_for_async_payments(
474430
node.start().unwrap();
475431
assert!(node.status().is_running);
476432
assert!(node.status().latest_fee_rate_cache_update_timestamp.is_some());
477-
node.into()
433+
node
478434
}
479435

480436
pub(crate) async fn generate_blocks_and_wait<E: ElectrumApi>(

tests/integration_tests_rust.rs

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ use common::{
2323
expect_splice_pending_event, generate_blocks_and_wait, open_channel, open_channel_push_amt,
2424
premine_and_distribute_funds, premine_blocks, prepare_rbf, random_config,
2525
random_listening_addresses, setup_bitcoind_and_electrsd, setup_builder, setup_node,
26-
setup_node_for_async_payments, setup_two_nodes, wait_for_tx, TestChainSource, TestNode,
27-
TestStoreType, TestSyncStore,
26+
setup_node_for_async_payments, setup_two_nodes, wait_for_tx, TestChainSource, TestStoreType,
27+
TestSyncStore,
2828
};
2929
use ldk_node::config::{AsyncPaymentsRole, EsploraSyncConfig};
3030
use ldk_node::liquidity::LSPS2ServiceConfig;
@@ -154,15 +154,15 @@ async fn multi_hop_sending() {
154154
let esplora_url = format!("http://{}", electrsd.esplora_url.as_ref().unwrap());
155155

156156
// Setup and fund 5 nodes
157-
let mut nodes: Vec<TestNode> = Vec::new();
157+
let mut nodes = Vec::new();
158158
for _ in 0..5 {
159159
let config = random_config(true);
160160
let sync_config = EsploraSyncConfig { background_sync_config: None };
161161
setup_builder!(builder, config.node_config);
162162
builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
163-
let node: TestNode = builder.build(config.node_entropy.into()).unwrap().into();
163+
let node = builder.build(config.node_entropy.into()).unwrap();
164164
node.start().unwrap();
165-
nodes.push(node.into());
165+
nodes.push(node);
166166
}
167167

168168
let addresses = nodes.iter().map(|n| n.onchain_payment().new_address().unwrap()).collect();
@@ -1730,8 +1730,7 @@ async fn do_lsps2_client_service_integration(client_trusts_lsp: bool) {
17301730
setup_builder!(service_builder, service_config.node_config);
17311731
service_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
17321732
service_builder.set_liquidity_provider_lsps2(lsps2_service_config);
1733-
let service_node: TestNode =
1734-
service_builder.build(service_config.node_entropy.into()).unwrap().into();
1733+
let service_node = service_builder.build(service_config.node_entropy.into()).unwrap();
17351734
service_node.start().unwrap();
17361735

17371736
let service_node_id = service_node.node_id();
@@ -1741,15 +1740,13 @@ async fn do_lsps2_client_service_integration(client_trusts_lsp: bool) {
17411740
setup_builder!(client_builder, client_config.node_config);
17421741
client_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
17431742
client_builder.set_liquidity_source_lsps2(service_node_id, service_addr, None);
1744-
let client_node: TestNode =
1745-
client_builder.build(client_config.node_entropy.into()).unwrap().into();
1743+
let client_node = client_builder.build(client_config.node_entropy.into()).unwrap();
17461744
client_node.start().unwrap();
17471745

17481746
let payer_config = random_config(true);
17491747
setup_builder!(payer_builder, payer_config.node_config);
17501748
payer_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
1751-
let payer_node: TestNode =
1752-
payer_builder.build(payer_config.node_entropy.into()).unwrap().into();
1749+
let payer_node = payer_builder.build(payer_config.node_entropy.into()).unwrap();
17531750
payer_node.start().unwrap();
17541751

17551752
let service_addr = service_node.onchain_payment().new_address().unwrap();
@@ -2050,8 +2047,7 @@ async fn lsps2_client_trusts_lsp() {
20502047
setup_builder!(service_builder, service_config.node_config);
20512048
service_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
20522049
service_builder.set_liquidity_provider_lsps2(lsps2_service_config);
2053-
let service_node: TestNode =
2054-
service_builder.build(service_config.node_entropy.into()).unwrap().into();
2050+
let service_node = service_builder.build(service_config.node_entropy.into()).unwrap();
20552051
service_node.start().unwrap();
20562052
let service_node_id = service_node.node_id();
20572053
let service_addr = service_node.listening_addresses().unwrap().first().unwrap().clone();
@@ -2060,16 +2056,14 @@ async fn lsps2_client_trusts_lsp() {
20602056
setup_builder!(client_builder, client_config.node_config);
20612057
client_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
20622058
client_builder.set_liquidity_source_lsps2(service_node_id, service_addr.clone(), None);
2063-
let client_node: TestNode =
2064-
client_builder.build(client_config.node_entropy.into()).unwrap().into();
2059+
let client_node = client_builder.build(client_config.node_entropy.into()).unwrap();
20652060
client_node.start().unwrap();
20662061
let client_node_id = client_node.node_id();
20672062

20682063
let payer_config = random_config(true);
20692064
setup_builder!(payer_builder, payer_config.node_config);
20702065
payer_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
2071-
let payer_node: TestNode =
2072-
payer_builder.build(payer_config.node_entropy.into()).unwrap().into();
2066+
let payer_node = payer_builder.build(payer_config.node_entropy.into()).unwrap();
20732067
payer_node.start().unwrap();
20742068

20752069
let service_addr_onchain = service_node.onchain_payment().new_address().unwrap();
@@ -2226,8 +2220,7 @@ async fn lsps2_lsp_trusts_client_but_client_does_not_claim() {
22262220
setup_builder!(service_builder, service_config.node_config);
22272221
service_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
22282222
service_builder.set_liquidity_provider_lsps2(lsps2_service_config);
2229-
let service_node: TestNode =
2230-
service_builder.build(service_config.node_entropy.into()).unwrap().into();
2223+
let service_node = service_builder.build(service_config.node_entropy.into()).unwrap();
22312224
service_node.start().unwrap();
22322225

22332226
let service_node_id = service_node.node_id();
@@ -2237,17 +2230,15 @@ async fn lsps2_lsp_trusts_client_but_client_does_not_claim() {
22372230
setup_builder!(client_builder, client_config.node_config);
22382231
client_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
22392232
client_builder.set_liquidity_source_lsps2(service_node_id, service_addr.clone(), None);
2240-
let client_node: TestNode =
2241-
client_builder.build(client_config.node_entropy.into()).unwrap().into();
2233+
let client_node = client_builder.build(client_config.node_entropy.into()).unwrap();
22422234
client_node.start().unwrap();
22432235

22442236
let client_node_id = client_node.node_id();
22452237

22462238
let payer_config = random_config(true);
22472239
setup_builder!(payer_builder, payer_config.node_config);
22482240
payer_builder.set_chain_source_esplora(esplora_url.clone(), Some(sync_config));
2249-
let payer_node: TestNode =
2250-
payer_builder.build(payer_config.node_entropy.into()).unwrap().into();
2241+
let payer_node = payer_builder.build(payer_config.node_entropy.into()).unwrap();
22512242
payer_node.start().unwrap();
22522243

22532244
let service_addr_onchain = service_node.onchain_payment().new_address().unwrap();

tests/integration_tests_vss.rs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,30 +24,28 @@ async fn channel_full_cycle_with_vss_store() {
2424
let mut builder_a = Builder::from_config(config_a.node_config);
2525
builder_a.set_chain_source_esplora(esplora_url.clone(), None);
2626
let vss_base_url = std::env::var("TEST_VSS_BASE_URL").unwrap();
27-
let node_a: common::TestNode = builder_a
27+
let node_a = builder_a
2828
.build_with_vss_store_and_fixed_headers(
2929
config_a.node_entropy,
3030
vss_base_url.clone(),
3131
"node_1_store".to_string(),
3232
HashMap::new(),
3333
)
34-
.unwrap()
35-
.into();
34+
.unwrap();
3635
node_a.start().unwrap();
3736

3837
println!("\n== Node B ==");
3938
let config_b = common::random_config(true);
4039
let mut builder_b = Builder::from_config(config_b.node_config);
4140
builder_b.set_chain_source_esplora(esplora_url.clone(), None);
42-
let node_b: common::TestNode = builder_b
41+
let node_b = builder_b
4342
.build_with_vss_store_and_fixed_headers(
4443
config_b.node_entropy,
4544
vss_base_url,
4645
"node_2_store".to_string(),
4746
HashMap::new(),
4847
)
49-
.unwrap()
50-
.into();
48+
.unwrap();
5149
node_b.start().unwrap();
5250

5351
common::do_channel_full_cycle(

0 commit comments

Comments
 (0)