quirks: handle packages without quirks in deb extra dependencies

This commit is contained in:
2026-09-18 13:08:23 +02:00
parent c1f8893576
commit b489db2728
+17 -2
View File
@@ -75,8 +75,10 @@ pub fn get_package_quirks<'a>(
/// # Returns /// # Returns
/// * `Vec<String>` - List of extra dependencies, or empty vector if none /// * `Vec<String>` - List of extra dependencies, or empty vector if none
pub fn get_deb_extra_dependencies(package: &str) -> Vec<String> { pub fn get_deb_extra_dependencies(package: &str) -> Vec<String> {
if let Some(quirks) = &get_package_quirks(&QUIRKS_DATA, package).unwrap().deb { if let Some(quirks) = get_package_quirks(&QUIRKS_DATA, package)
return quirks.extra_dependencies.clone(); && let Some(deb_quirks) = &quirks.deb
{
return deb_quirks.extra_dependencies.clone();
} }
Vec::new() Vec::new()
@@ -109,3 +111,16 @@ pub fn get_package_directories(package: &str) -> Vec<String> {
Vec::new() Vec::new()
} }
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_unknown_package_has_no_quirks() {
// A package absent from quirks.yml (currently every package) has no
// extra dependencies nor custom directories, and must not panic
assert!(get_deb_extra_dependencies("not-in-quirks").is_empty());
assert!(get_package_directories("not-in-quirks").is_empty());
}
}