Stop building with lockorder debugging in benchmarks 2022-09-no-bench-lockorder
authorMatt Corallo <git@bluematt.me>
Fri, 16 Sep 2022 14:40:32 +0000 (14:40 +0000)
committerMatt Corallo <git@bluematt.me>
Fri, 16 Sep 2022 14:44:20 +0000 (14:44 +0000)
`cargo bench` sets `#[cfg(test)]` so our current checks for
enabling our lockorder debugging end up matching when we're trying
to build performance benchmarks.

This adds explicit checks to our debug_lockorder logic to filter
out `feature = "_bench_unstable"` builds.

lightning/src/lib.rs
lightning/src/util/mod.rs

index 1000966d5a5b8ecca943fc7b7c2ef9642b027b9b..045a8f73cca778812c6e03062ef2b7a8a478e217 100644 (file)
@@ -173,18 +173,18 @@ mod prelude {
        pub use alloc::string::ToString;
 }
 
-#[cfg(all(feature = "std", test))]
+#[cfg(all(not(feature = "_bench_unstable"), feature = "std", test))]
 mod debug_sync;
-#[cfg(all(feature = "backtrace", feature = "std", test))]
+#[cfg(all(not(feature = "_bench_unstable"), feature = "backtrace", feature = "std", test))]
 extern crate backtrace;
 
 #[cfg(feature = "std")]
 mod sync {
-       #[cfg(test)]
+       #[cfg(all(not(feature = "_bench_unstable"), test))]
        pub use debug_sync::*;
-       #[cfg(not(test))]
+       #[cfg(any(feature = "_bench_unstable", not(test)))]
        pub use ::std::sync::{Arc, Mutex, Condvar, MutexGuard, RwLock, RwLockReadGuard, RwLockWriteGuard};
-       #[cfg(not(test))]
+       #[cfg(any(feature = "_bench_unstable", not(test)))]
        pub use crate::util::fairrwlock::FairRwLock;
 }
 
index 21976113cc1d911fbe61233fbadbf1bfb86f71cb..9ffe1b7494fae459bdbab3e26a593c35678ee421 100644 (file)
@@ -26,7 +26,7 @@ pub mod wakers;
 pub(crate) mod atomic_counter;
 pub(crate) mod byte_utils;
 pub(crate) mod chacha20;
-#[cfg(all(not(test), feature = "std"))]
+#[cfg(all(any(feature = "_bench_unstable", not(test)), feature = "std"))]
 pub(crate) mod fairrwlock;
 #[cfg(fuzzing)]
 pub mod zbase32;