Skip to content

Commit eada37d

Browse files
committed
Add a get_route!() macro for tests which only need a route
1 parent eeaf97e commit eada37d

File tree

2 files changed

+19
-24
lines changed

2 files changed

+19
-24
lines changed

lightning/src/ln/functional_test_utils.rs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1167,17 +1167,10 @@ macro_rules! get_payment_preimage_hash {
11671167
}
11681168
}
11691169

1170-
#[cfg(test)]
11711170
#[macro_export]
1172-
macro_rules! get_route_and_payment_hash {
1173-
($send_node: expr, $recv_node: expr, $recv_value: expr) => {{
1174-
let payment_params = $crate::routing::router::PaymentParameters::from_node_id($recv_node.node.get_our_node_id())
1175-
.with_features($crate::ln::features::InvoiceFeatures::known());
1176-
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value, TEST_FINAL_CLTV)
1177-
}};
1178-
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => {{
1171+
macro_rules! get_route {
1172+
($send_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => {{
11791173
use $crate::chain::keysinterface::KeysInterface;
1180-
let (payment_preimage, payment_hash, payment_secret) = $crate::get_payment_preimage_hash!($recv_node, Some($recv_value));
11811174
let scorer = $crate::util::test_utils::TestScorer::with_penalty(0);
11821175
let keys_manager = $crate::util::test_utils::TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
11831176
let random_seed_bytes = keys_manager.get_secure_random_bytes();
@@ -1186,6 +1179,21 @@ macro_rules! get_route_and_payment_hash {
11861179
Some(&$send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
11871180
$recv_value, $cltv, $send_node.logger, &scorer, &random_seed_bytes
11881181
).unwrap();
1182+
route
1183+
}}
1184+
}
1185+
1186+
#[cfg(test)]
1187+
#[macro_export]
1188+
macro_rules! get_route_and_payment_hash {
1189+
($send_node: expr, $recv_node: expr, $recv_value: expr) => {{
1190+
let payment_params = $crate::routing::router::PaymentParameters::from_node_id($recv_node.node.get_our_node_id())
1191+
.with_features($crate::ln::features::InvoiceFeatures::known());
1192+
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value, TEST_FINAL_CLTV)
1193+
}};
1194+
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => {{
1195+
let (payment_preimage, payment_hash, payment_secret) = $crate::get_payment_preimage_hash!($recv_node, Some($recv_value));
1196+
let route = $crate::get_route!($send_node, $payment_params, $recv_value, $cltv);
11891197
(route, payment_hash, payment_preimage, payment_secret)
11901198
}}
11911199
}
@@ -1650,15 +1658,7 @@ pub const TEST_FINAL_CLTV: u32 = 70;
16501658
pub fn route_payment<'a, 'b, 'c>(origin_node: &Node<'a, 'b, 'c>, expected_route: &[&Node<'a, 'b, 'c>], recv_value: u64) -> (PaymentPreimage, PaymentHash, PaymentSecret) {
16511659
let payment_params = PaymentParameters::from_node_id(expected_route.last().unwrap().node.get_our_node_id())
16521660
.with_features(InvoiceFeatures::known());
1653-
let network_graph = origin_node.network_graph.read_only();
1654-
let scorer = test_utils::TestScorer::with_penalty(0);
1655-
let seed = [0u8; 32];
1656-
let keys_manager = test_utils::TestKeysInterface::new(&seed, Network::Testnet);
1657-
let random_seed_bytes = keys_manager.get_secure_random_bytes();
1658-
let route = get_route(
1659-
&origin_node.node.get_our_node_id(), &payment_params, &network_graph,
1660-
Some(&origin_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
1661-
recv_value, TEST_FINAL_CLTV, origin_node.logger, &scorer, &random_seed_bytes).unwrap();
1661+
let route = get_route!(origin_node, payment_params, recv_value, TEST_FINAL_CLTV);
16621662
assert_eq!(route.paths.len(), 1);
16631663
assert_eq!(route.paths[0].len(), expected_route.len());
16641664
for (node, hop) in expected_route.iter().zip(route.paths[0].iter()) {

lightning/src/ln/functional_tests.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9450,12 +9450,7 @@ fn test_dup_htlc_second_fail_panic() {
94509450

94519451
let payment_params = PaymentParameters::from_node_id(nodes[1].node.get_our_node_id())
94529452
.with_features(InvoiceFeatures::known());
9453-
let scorer = test_utils::TestScorer::with_penalty(0);
9454-
let random_seed_bytes = chanmon_cfgs[1].keys_manager.get_secure_random_bytes();
9455-
let route = get_route(
9456-
&nodes[0].node.get_our_node_id(), &payment_params, &nodes[0].network_graph.read_only(),
9457-
Some(&nodes[0].node.list_usable_channels().iter().collect::<Vec<_>>()),
9458-
10_000, TEST_FINAL_CLTV, nodes[0].logger, &scorer, &random_seed_bytes).unwrap();
9453+
let route = get_route!(nodes[0], payment_params, 10_000, TEST_FINAL_CLTV);
94599454

94609455
let (_, our_payment_hash, our_payment_secret) = get_payment_preimage_hash!(&nodes[1]);
94619456

0 commit comments

Comments
 (0)