quirks: handle packages without quirks in deb extra dependencies
This commit is contained in:
+17
-2
@@ -75,8 +75,10 @@ pub fn get_package_quirks<'a>(
|
||||
/// # Returns
|
||||
/// * `Vec<String>` - List of extra dependencies, or empty vector if none
|
||||
pub fn get_deb_extra_dependencies(package: &str) -> Vec<String> {
|
||||
if let Some(quirks) = &get_package_quirks(&QUIRKS_DATA, package).unwrap().deb {
|
||||
return quirks.extra_dependencies.clone();
|
||||
if let Some(quirks) = get_package_quirks(&QUIRKS_DATA, package)
|
||||
&& let Some(deb_quirks) = &quirks.deb
|
||||
{
|
||||
return deb_quirks.extra_dependencies.clone();
|
||||
}
|
||||
|
||||
Vec::new()
|
||||
@@ -109,3 +111,16 @@ pub fn get_package_directories(package: &str) -> Vec<String> {
|
||||
|
||||
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());
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user