fix: prevent instrumentation to run in test mode #102
| @ -5,6 +5,9 @@ version.workspace = true | ||||
| readme.workspace = true | ||||
| license.workspace = true | ||||
| 
 | ||||
| [features] | ||||
| testing = [] | ||||
| 
 | ||||
| [dependencies] | ||||
| rand = "0.9" | ||||
| hex = "0.4" | ||||
|  | ||||
| @ -36,9 +36,14 @@ static HARMONY_EVENT_BUS: Lazy<broadcast::Sender<HarmonyEvent>> = Lazy::new(|| { | ||||
| }); | ||||
| 
 | ||||
| pub fn instrument(event: HarmonyEvent) -> Result<(), &'static str> { | ||||
|     match HARMONY_EVENT_BUS.send(event) { | ||||
|         Ok(_) => Ok(()), | ||||
|         Err(_) => Err("send error: no subscribers"), | ||||
|     if cfg!(any(test, feature = "testing")) { | ||||
|         let _ = event; // Suppress the "unused variable" warning for `event`
 | ||||
|         Ok(()) | ||||
|     } else { | ||||
|         match HARMONY_EVENT_BUS.send(event) { | ||||
|             Ok(_) => Ok(()), | ||||
|             Err(_) => Err("send error: no subscribers"), | ||||
|         } | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,6 @@ use serde::Serialize; | ||||
| use crate::{ | ||||
|     config::HARMONY_DATA_DIR, | ||||
|     data::{Id, Version}, | ||||
|     instrumentation::{self, HarmonyEvent}, | ||||
|     interpret::{Interpret, InterpretError, InterpretName, InterpretStatus, Outcome}, | ||||
|     inventory::Inventory, | ||||
|     score::Score, | ||||
| @ -30,7 +29,7 @@ impl Default for K3DInstallationScore { | ||||
| } | ||||
| 
 | ||||
| impl<T: Topology> Score<T> for K3DInstallationScore { | ||||
|     fn create_interpret(&self) -> Box<dyn crate::interpret::Interpret<T>> { | ||||
|     fn create_interpret(&self) -> Box<dyn Interpret<T>> { | ||||
|         Box::new(K3dInstallationInterpret { | ||||
|             score: self.clone(), | ||||
|         }) | ||||
|  | ||||
| @ -5,6 +5,10 @@ version.workspace = true | ||||
| readme.workspace = true | ||||
| license.workspace = true | ||||
| 
 | ||||
| [features] | ||||
| default = ["tui"] | ||||
| tui = ["dep:harmony_tui"] | ||||
| 
 | ||||
| [dependencies] | ||||
| assert_cmd = "2.0.17" | ||||
| clap = { version = "4.5.35", features = ["derive"] } | ||||
| @ -19,7 +23,5 @@ lazy_static = "1.5.0" | ||||
| log.workspace = true | ||||
| indicatif-log-bridge = "0.2.3" | ||||
| 
 | ||||
| 
 | ||||
| [features] | ||||
| default = ["tui"] | ||||
| tui = ["dep:harmony_tui"] | ||||
| [dev-dependencies] | ||||
| harmony = { path = "../harmony", features = ["testing"] } | ||||
|  | ||||
| @ -163,7 +163,7 @@ async fn init<T: Topology + Send + Sync + 'static>( | ||||
| } | ||||
| 
 | ||||
| #[cfg(test)] | ||||
| mod test { | ||||
| mod tests { | ||||
|     use harmony::{ | ||||
|         inventory::Inventory, | ||||
|         maestro::Maestro, | ||||
|  | ||||
| @ -23,9 +23,18 @@ static HARMONY_COMPOSER_EVENT_BUS: Lazy<broadcast::Sender<HarmonyComposerEvent>> | ||||
|     }); | ||||
| 
 | ||||
| pub fn instrument(event: HarmonyComposerEvent) -> Result<(), &'static str> { | ||||
|     match HARMONY_COMPOSER_EVENT_BUS.send(event) { | ||||
|         Ok(_) => Ok(()), | ||||
|         Err(_) => Err("send error: no subscribers"), | ||||
|     #[cfg(not(test))] | ||||
|     { | ||||
|         match HARMONY_COMPOSER_EVENT_BUS.send(event) { | ||||
|             Ok(_) => Ok(()), | ||||
|             Err(_) => Err("send error: no subscribers"), | ||||
|         } | ||||
|     } | ||||
| 
 | ||||
|     #[cfg(test)] | ||||
|     { | ||||
|         let _ = event; // Suppress the "unused variable" warning for `event`
 | ||||
|         Ok(()) | ||||
|     } | ||||
| } | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user