From 027befb50a5aafd6ac9d0952b9d0a457aeec626f Mon Sep 17 00:00:00 2001 From: Wildan M Date: Sun, 12 Jul 2026 15:58:55 +0700 Subject: [PATCH] Fix flaky cargo test --- src/config.rs | 5 +++++ src/cook/cook_build.rs | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/config.rs b/src/config.rs index d79c03db3..93e7a429d 100644 --- a/src/config.rs +++ b/src/config.rs @@ -209,6 +209,11 @@ pub fn get_config() -> &'static CookbookConfig { return CONFIG.get().expect("Configuration is not initialized"); } +/// Fallible version of get_config(), because it's not loaded when testing +pub fn try_get_config() -> Option<&'static CookbookConfig> { + return CONFIG.get(); +} + pub fn translate_mirror(original_url: &str) -> String { let config = CONFIG.get().expect("Configuration is not initialized"); diff --git a/src/cook/cook_build.rs b/src/cook/cook_build.rs index 819484215..39cdb7809 100644 --- a/src/cook/cook_build.rs +++ b/src/cook/cook_build.rs @@ -23,7 +23,9 @@ fn auto_deps_from_dynamic_linking( ) -> BTreeSet { let mut paths = BTreeSet::new(); let mut visited = BTreeSet::new(); - let verbose = crate::config::get_config().cook.verbose; + let verbose = crate::config::try_get_config() + .map(|s| s.cook.verbose) + .unwrap_or(true); // Base directories may need to be updated for packages that place binaries in odd locations. let mut walk = VecDeque::new();