From 661b8837f3360df7180f2ed04934923cb8a9fcd7 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fabian=20Gr=C3=BCnbichler?= Date: Wed, 12 Oct 2022 10:41:42 +0200 Subject: [PATCH] clippy fixes MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Fabian Grünbichler --- src/deb822/release_file.rs | 61 ++++++++++++------------- src/repositories/file/sources_parser.rs | 2 +- src/repositories/repository.rs | 4 +- src/repositories/standard.rs | 4 +- tests/repositories.rs | 18 ++++---- 5 files changed, 43 insertions(+), 46 deletions(-) diff --git a/src/deb822/release_file.rs b/src/deb822/release_file.rs index 355b246..75407f0 100644 --- a/src/deb822/release_file.rs +++ b/src/deb822/release_file.rs @@ -314,39 +314,36 @@ impl TryFrom for ReleaseFile { type Error = Error; fn try_from(value: ReleaseFileRaw) -> Result { - let mut parsed = ReleaseFile::default(); - - parsed.architectures = whitespace_split_to_vec( - &value - .architectures - .ok_or_else(|| format_err!("'Architectures' field missing."))?, - ); - parsed.components = whitespace_split_to_vec( - &value - .components - .ok_or_else(|| format_err!("'Components' field missing."))?, - ); - - parsed.changelogs = value.changelogs; - parsed.codename = value.codename; - - parsed.date = value.date.as_deref().map(parse_date); - parsed.valid_until = value - .extra_fields - .get("Valid-Until") - .map(|val| parse_date(&val.to_string())); - - parsed.description = value.description; - parsed.label = value.label; - parsed.origin = value.origin; - parsed.suite = value.suite; - parsed.version = value.version; - - parsed.aquire_by_hash = match value.extra_fields.get("Acquire-By-Hash") { - Some(val) => *val == "yes", - None => false, + let mut parsed = ReleaseFile { + architectures: whitespace_split_to_vec( + &value + .architectures + .ok_or_else(|| format_err!("'Architectures' field missing."))?, + ), + components: whitespace_split_to_vec( + &value + .components + .ok_or_else(|| format_err!("'Components' field missing."))?, + ), + changelogs: value.changelogs, + codename: value.codename, + date: value.date.as_deref().map(parse_date), + valid_until: value + .extra_fields + .get("Valid-Until") + .map(|val| parse_date(&val.to_string())), + description: value.description, + label: value.label, + origin: value.origin, + suite: value.suite, + files: HashMap::new(), + aquire_by_hash: false, + version: value.version, }; + if let Some(val) = value.extra_fields.get("Acquire-By-Hash") { + parsed.aquire_by_hash = *val == "yes"; + } // Fixup bullseye-security release files which have invalid components if parsed.label.as_deref() == Some("Debian-Security") && parsed.codename.as_deref() == Some("bullseye-security") @@ -423,7 +420,7 @@ impl TryFrom for ReleaseFile { parsed.files = references_map .into_iter() - .fold(HashMap::new(), |mut map, (base, inner_map)| { + .fold(parsed.files, |mut map, (base, inner_map)| { map.insert(base, inner_map.into_values().collect()); map }); diff --git a/src/repositories/file/sources_parser.rs b/src/repositories/file/sources_parser.rs index dc9170d..9424bbe 100644 --- a/src/repositories/file/sources_parser.rs +++ b/src/repositories/file/sources_parser.rs @@ -186,7 +186,7 @@ impl APTRepositoryParser for APTSourcesFileParser { break; } Ok(_) => { - if (&lines[old_length..]) + if (lines[old_length..]) .trim_matches(|c| char::is_ascii_whitespace(&c)) .is_empty() { diff --git a/src/repositories/repository.rs b/src/repositories/repository.rs index 4c87f11..a5e3015 100644 --- a/src/repositories/repository.rs +++ b/src/repositories/repository.rs @@ -10,7 +10,7 @@ use proxmox_schema::api; use crate::repositories::standard::APTRepositoryHandle; #[api] -#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "lowercase")] pub enum APTRepositoryFileType { /// One-line-style format @@ -41,7 +41,7 @@ impl Display for APTRepositoryFileType { } #[api] -#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "kebab-case")] pub enum APTRepositoryPackageType { /// Debian package diff --git a/src/repositories/standard.rs b/src/repositories/standard.rs index 17cfa8d..5af3117 100644 --- a/src/repositories/standard.rs +++ b/src/repositories/standard.rs @@ -17,7 +17,7 @@ use proxmox_schema::api; }, }, )] -#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "kebab-case")] /// Reference to a standard repository and configuration status. pub struct APTStandardRepository { @@ -36,7 +36,7 @@ pub struct APTStandardRepository { } #[api] -#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq)] +#[derive(Debug, Copy, Clone, Serialize, Deserialize, PartialEq, Eq)] #[serde(rename_all = "kebab-case")] /// Handles for Proxmox repositories. pub enum APTRepositoryHandle { diff --git a/tests/repositories.rs b/tests/repositories.rs index fd94e0d..f6dc290 100644 --- a/tests/repositories.rs +++ b/tests/repositories.rs @@ -160,7 +160,7 @@ fn test_empty_write() -> Result<(), Error> { file.parse()?; let new_path = write_dir.join(path.file_name().unwrap()); - file.path = Some(new_path.clone().into_os_string().into_string().unwrap()); + file.path = Some(new_path.into_os_string().into_string().unwrap()); file.digest = None; @@ -191,9 +191,9 @@ fn test_check_repositories() -> Result<(), Error> { let mut file = APTRepositoryFile::new(&absolute_suite_list)?.unwrap(); file.parse()?; - let infos = check_repositories(&vec![file], DebianCodename::Bullseye); + let infos = check_repositories(&[file], DebianCodename::Bullseye); - assert_eq!(infos.is_empty(), true); + assert!(infos.is_empty()); let pve_list = read_dir.join("pve.list"); let mut file = APTRepositoryFile::new(&pve_list)?.unwrap(); file.parse()?; @@ -205,18 +205,18 @@ fn test_check_repositories() -> Result<(), Error> { ]; let mut expected_infos = vec![]; - for n in 0..=5 { + for (n, origin) in origins.into_iter().enumerate() { expected_infos.push(APTRepositoryInfo { path: path_string.clone(), index: n, property: None, kind: "origin".to_string(), - message: origins[n].to_string(), + message: origin.to_string(), }); } expected_infos.sort(); - let mut infos = check_repositories(&vec![file], DebianCodename::Bullseye); + let mut infos = check_repositories(&[file], DebianCodename::Bullseye); infos.sort(); assert_eq!(infos, expected_infos); @@ -282,7 +282,7 @@ fn test_check_repositories() -> Result<(), Error> { } expected_infos.sort(); - let mut infos = check_repositories(&vec![file], DebianCodename::Bullseye); + let mut infos = check_repositories(&[file], DebianCodename::Bullseye); infos.sort(); assert_eq!(infos, expected_infos); @@ -314,7 +314,7 @@ fn test_check_repositories() -> Result<(), Error> { } expected_infos.sort(); - let mut infos = check_repositories(&vec![file], DebianCodename::Bullseye); + let mut infos = check_repositories(&[file], DebianCodename::Bullseye); infos.sort(); assert_eq!(infos, expected_infos); @@ -374,7 +374,7 @@ fn test_standard_repositories() -> Result<(), Error> { let mut file = APTRepositoryFile::new(&absolute_suite_list)?.unwrap(); file.parse()?; - let std_repos = standard_repositories(&vec![file], "pve", DebianCodename::Bullseye); + let std_repos = standard_repositories(&[file], "pve", DebianCodename::Bullseye); assert_eq!(std_repos, expected); -- 2.39.2