#![deny(broken_intra_doc_links)]
#![deny(missing_docs)]
-#![cfg_attr(all(test, feature = "unstable"), feature(test))]
-#[cfg(all(test, feature = "unstable"))] extern crate test;
+#![cfg_attr(all(test, feature = "_bench_unstable"), feature(test))]
+#[cfg(all(test, feature = "_bench_unstable"))] extern crate test;
mod util;
}
}
-#[cfg(all(test, feature = "unstable"))]
+#[cfg(all(test, feature = "_bench_unstable"))]
pub mod bench {
use test::Bencher;
#![cfg_attr(all(not(feature = "std"), not(test)), no_std)]
-#![cfg_attr(all(any(test, feature = "_test_utils"), feature = "unstable"), feature(test))]
-#[cfg(all(any(test, feature = "_test_utils"), feature = "unstable"))] extern crate test;
+#![cfg_attr(all(any(test, feature = "_test_utils"), feature = "_bench_unstable"), feature(test))]
+#[cfg(all(any(test, feature = "_test_utils"), feature = "_bench_unstable"))] extern crate test;
#[cfg(not(any(feature = "std", feature = "no-std")))]
compile_error!("at least one of the `std` or `no-std` features must be enabled");
/// decrease as well. Thus, we have to explicitly track which nodes have been processed and
/// avoid processing them again.
was_processed: bool,
- #[cfg(any(test, feature = "fuzztarget"))]
+ #[cfg(all(not(feature = "_bench_unstable"), any(test, feature = "fuzztarget")))]
// In tests, we apply further sanity checks on cases where we skip nodes we already processed
// to ensure it is specifically in cases where the fee has gone down because of a decrease in
// value_contribution_msat, which requires tracking it here. See comments below where it is
path_htlc_minimum_msat,
path_penalty_msat: u64::max_value(),
was_processed: false,
- #[cfg(any(test, feature = "fuzztarget"))]
+ #[cfg(all(not(feature = "_bench_unstable"), any(test, feature = "fuzztarget")))]
value_contribution_msat,
}
});
#[allow(unused_mut)] // We only use the mut in cfg(test)
let mut should_process = !old_entry.was_processed;
- #[cfg(any(test, feature = "fuzztarget"))]
+ #[cfg(all(not(feature = "_bench_unstable"), any(test, feature = "fuzztarget")))]
{
// In test/fuzzing builds, we do extra checks to make sure the skipping
// of already-seen nodes only happens in cases we expect (see below).
old_entry.fee_msat = 0; // This value will be later filled with hop_use_fee_msat of the following channel
old_entry.path_htlc_minimum_msat = path_htlc_minimum_msat;
old_entry.path_penalty_msat = path_penalty_msat;
- #[cfg(any(test, feature = "fuzztarget"))]
+ #[cfg(all(not(feature = "_bench_unstable"), any(test, feature = "fuzztarget")))]
{
old_entry.value_contribution_msat = value_contribution_msat;
}
did_add_update_path_to_src_node = true;
} else if old_entry.was_processed && new_cost < old_cost {
- #[cfg(any(test, feature = "fuzztarget"))]
+ #[cfg(all(not(feature = "_bench_unstable"), any(test, feature = "fuzztarget")))]
{
// If we're skipping processing a node which was previously
// processed even though we found another path to it with a
}
}
-#[cfg(all(test, feature = "unstable", not(feature = "no-std")))]
+#[cfg(all(test, feature = "_bench_unstable", not(feature = "no-std")))]
mod benches {
use super::*;
use bitcoin::hashes::Hash;