Merge pull request #2575 from tnull/2023-09-fix-debug-panic
[rust-lightning] / lightning / src / util / test_utils.rs
index 8e2be87d8bef820b4bf56b19829aa09450a9f1d6..50467a1735fd919e179cc9eb63a0eb2eafbea396 100644 (file)
@@ -62,7 +62,6 @@ use regex;
 use crate::io;
 use crate::prelude::*;
 use core::cell::RefCell;
-use core::ops::Deref;
 use core::time::Duration;
 use crate::sync::{Mutex, Arc};
 use core::sync::atomic::{AtomicBool, AtomicUsize, Ordering};
@@ -125,6 +124,7 @@ impl<'a> Router for TestRouter<'a> {
                if let Some((find_route_query, find_route_res)) = self.next_routes.lock().unwrap().pop_front() {
                        assert_eq!(find_route_query, *params);
                        if let Ok(ref route) = find_route_res {
+                               assert_eq!(route.route_params.as_ref().unwrap().final_value_msat, find_route_query.final_value_msat);
                                let scorer = self.scorer.read().unwrap();
                                let scorer = ScorerAccountingForInFlightHtlcs::new(scorer, &inflight_htlcs);
                                for path in &route.paths {
@@ -226,7 +226,7 @@ impl<'a> TestChainMonitor<'a> {
        }
 }
 impl<'a> chain::Watch<TestChannelSigner> for TestChainMonitor<'a> {
-       fn watch_channel(&self, funding_txo: OutPoint, monitor: channelmonitor::ChannelMonitor<TestChannelSigner>) -> chain::ChannelMonitorUpdateStatus {
+       fn watch_channel(&self, funding_txo: OutPoint, monitor: channelmonitor::ChannelMonitor<TestChannelSigner>) -> Result<chain::ChannelMonitorUpdateStatus, ()> {
                // At every point where we get a monitor update, we should be able to send a useful monitor
                // to a watchtower and disk...
                let mut w = TestVecWriter(Vec::new());
@@ -297,6 +297,7 @@ pub(crate) struct WatchtowerPersister {
 }
 
 impl WatchtowerPersister {
+       #[cfg(test)]
        pub(crate) fn new(destination_script: Script) -> Self {
                WatchtowerPersister {
                        persister: TestPersister::new(),
@@ -306,6 +307,7 @@ impl WatchtowerPersister {
                }
        }
 
+       #[cfg(test)]
        pub(crate) fn justice_tx(&self, funding_txo: OutPoint, commitment_txid: &Txid)
        -> Option<Transaction> {
                self.watchtower_state.lock().unwrap().get(&funding_txo).unwrap().get(commitment_txid).cloned()
@@ -426,7 +428,7 @@ impl<Signer: sign::WriteableEcdsaChannelSigner> chainmonitor::Persist<Signer> fo
        }
 }
 
-pub(crate) struct TestStore {
+pub struct TestStore {
        persisted_bytes: Mutex<HashMap<String, HashMap<String, Vec<u8>>>>,
        read_only: bool,
 }