Skip to content

Commit b9d097b

Browse files
committed
Add a get_route!() macro for tests which only need a route
1 parent 62edee5 commit b9d097b

File tree

2 files changed

+19
-25
lines changed

2 files changed

+19
-25
lines changed

lightning/src/ln/functional_test_utils.rs

+18-19
Original file line numberDiff line numberDiff line change
@@ -1167,6 +1167,21 @@ macro_rules! get_payment_preimage_hash {
11671167
}
11681168
}
11691169

1170+
#[macro_export]
1171+
macro_rules! get_route {
1172+
($send_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => {{
1173+
use $crate::chain::keysinterface::KeysInterface;
1174+
let scorer = $crate::util::test_utils::TestScorer::with_penalty(0);
1175+
let keys_manager = $crate::util::test_utils::TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
1176+
let random_seed_bytes = keys_manager.get_secure_random_bytes();
1177+
$crate::routing::router::get_route(
1178+
&$send_node.node.get_our_node_id(), &$payment_params, &$send_node.network_graph.read_only(),
1179+
Some(&$send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
1180+
$recv_value, $cltv, $send_node.logger, &scorer, &random_seed_bytes
1181+
)
1182+
}}
1183+
}
1184+
11701185
#[cfg(test)]
11711186
#[macro_export]
11721187
macro_rules! get_route_and_payment_hash {
@@ -1176,17 +1191,9 @@ macro_rules! get_route_and_payment_hash {
11761191
$crate::get_route_and_payment_hash!($send_node, $recv_node, payment_params, $recv_value, TEST_FINAL_CLTV)
11771192
}};
11781193
($send_node: expr, $recv_node: expr, $payment_params: expr, $recv_value: expr, $cltv: expr) => {{
1179-
use $crate::chain::keysinterface::KeysInterface;
11801194
let (payment_preimage, payment_hash, payment_secret) = $crate::get_payment_preimage_hash!($recv_node, Some($recv_value));
1181-
let scorer = $crate::util::test_utils::TestScorer::with_penalty(0);
1182-
let keys_manager = $crate::util::test_utils::TestKeysInterface::new(&[0u8; 32], bitcoin::network::constants::Network::Testnet);
1183-
let random_seed_bytes = keys_manager.get_secure_random_bytes();
1184-
let route = $crate::routing::router::get_route(
1185-
&$send_node.node.get_our_node_id(), &$payment_params, &$send_node.network_graph.read_only(),
1186-
Some(&$send_node.node.list_usable_channels().iter().collect::<Vec<_>>()),
1187-
$recv_value, $cltv, $send_node.logger, &scorer, &random_seed_bytes
1188-
).unwrap();
1189-
(route, payment_hash, payment_preimage, payment_secret)
1195+
let route = $crate::get_route!($send_node, $payment_params, $recv_value, $cltv);
1196+
(route.unwrap(), payment_hash, payment_preimage, payment_secret)
11901197
}}
11911198
}
11921199

@@ -1650,15 +1657,7 @@ pub const TEST_FINAL_CLTV: u32 = 70;
16501657
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) {
16511658
let payment_params = PaymentParameters::from_node_id(expected_route.last().unwrap().node.get_our_node_id())
16521659
.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();
1660+
let route = get_route!(origin_node, payment_params, recv_value, TEST_FINAL_CLTV).unwrap();
16621661
assert_eq!(route.paths.len(), 1);
16631662
assert_eq!(route.paths[0].len(), expected_route.len());
16641663
for (node, hop) in expected_route.iter().zip(route.paths[0].iter()) {

lightning/src/ln/functional_tests.rs

+1-6
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).unwrap();
94599454

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

0 commit comments

Comments
 (0)