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
|
/// # 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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user