From ca038d416eb1d6b7ae4cd4a709a62fc055e25c12 Mon Sep 17 00:00:00 2001 From: licunlong Date: Fri, 30 Jun 2023 10:55:39 +0800 Subject: [PATCH] fix: we shouldn't lookup build directory if we are not in CI environment --- libs/basic/src/path_lookup.rs | 51 +++++++++-------------------------- 1 file changed, 12 insertions(+), 39 deletions(-) diff --git a/libs/basic/src/path_lookup.rs b/libs/basic/src/path_lookup.rs index c711305..4c9797d 100644 --- a/libs/basic/src/path_lookup.rs +++ b/libs/basic/src/path_lookup.rs @@ -11,7 +11,6 @@ // See the Mulan PSL v2 for more details. //! the management of the unit file lookup path -use std::env; /// unit lookup path in /etc pub const ETC_SYSTEM_PATH: &str = "/etc/sysmaster"; @@ -55,28 +54,6 @@ impl LookupPaths { /// init lookup paths pub fn init_lookup_paths(&mut self) { - let devel_path = || { - let out_dir = env::var("OUT_DIR").unwrap_or_else(|_x| { - let _tmp_str: Option<&'static str> = option_env!("OUT_DIR"); - _tmp_str.unwrap_or("").to_string() - }); - if out_dir.is_empty() { - env::var("LD_LIBRARY_PATH").map_or("".to_string(), |_v| { - let _tmp = _v.split(':').collect::>()[0]; - let _tmp_path = _tmp.split("target").collect::>()[0]; - _tmp_path.to_string() - }) - } else { - out_dir - } - }; - - let out_dir = devel_path(); - if !out_dir.is_empty() && out_dir.contains("build") { - let tmp_str: Vec<_> = out_dir.split("build").collect(); - self.search_path.push(tmp_str[0].to_string()); - self.preset_path.push(tmp_str[0].to_string()); - } self.search_path.push(LIB_SYSTEM_PATH.to_string()); self.search_path.push(RUN_SYSTEM_PATH.to_string()); self.search_path.push(ETC_SYSTEM_PATH.to_string()); @@ -98,29 +75,25 @@ impl Default for LookupPaths { #[cfg(test)] mod tests { - - use std::env; - use crate::logger; use super::LookupPaths; #[test] fn test_init_lookup_paths() { logger::init_log_to_console("test_init_lookup_paths", log::LevelFilter::Trace); - let mut _lp = LookupPaths::default(); - _lp.init_lookup_paths(); - for item in _lp.search_path.iter() { - log::info!("lookup path is{:?}", item); - } - let tmp_dir = env::var("OUT_DIR"); - if tmp_dir.is_err() { - return; - } - let tmp = tmp_dir.unwrap(); - let tmp_dir_v: Vec<_> = tmp.split("build").collect(); + let mut lp = LookupPaths::default(); + lp.init_lookup_paths(); + assert_eq!( + lp.search_path, + vec!["/usr/lib/sysmaster", "/run/sysmaster", "/etc/sysmaster"] + ); assert_eq!( - _lp.search_path.first().unwrap().to_string(), - tmp_dir_v[0].to_string() + lp.preset_path, + vec![ + "/etc/sysmaster/system-preset", + "/usr/lib/sysmaster/system-preset" + ] ); + assert_eq!(lp.persistent_path, "/etc/sysmaster") } } -- 2.33.0