From 749ec87eb7e12eb32020cb01062d89eef3df956b Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 2 Nov 2022 15:29:40 -0400 Subject: [PATCH 1/2] utils: Use explicit `u64::from` Prep for a PR which may pull in the `glib` crate which has a conflicting impl for this conversion (which is likely a bug). --- src/weekly/utils.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/weekly/utils.rs b/src/weekly/utils.rs index 050e9d3a..4e3452ef 100644 --- a/src/weekly/utils.rs +++ b/src/weekly/utils.rs @@ -217,7 +217,7 @@ mod tests { Err(_) => Duration::from_secs(1), }; prop_assert!(res.as_secs() > 0); - prop_assert!((res.as_secs() / 60) < MAX_WEEKLY_MINS.into()); + prop_assert!((res.as_secs() / 60) < u64::from(MAX_WEEKLY_MINS)); } #[test] From f1c123aaac397da241c6546ecbefc0b489ddedcf Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Wed, 2 Nov 2022 15:30:18 -0400 Subject: [PATCH 2/2] status: Add a helper to extract the stream Prep for handling the container case in https://github.com/coreos/zincati/pull/878 --- src/rpm_ostree/cli_status.rs | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/rpm_ostree/cli_status.rs b/src/rpm_ostree/cli_status.rs index 179f0a60..fcc08abe 100644 --- a/src/rpm_ostree/cli_status.rs +++ b/src/rpm_ostree/cli_status.rs @@ -89,11 +89,16 @@ pub fn parse_booted(status: &StatusJson) -> Result { Ok(json.into_release()) } +fn fedora_coreos_stream_from_deployment(deploy: &DeploymentJson) -> Result { + let stream = deploy.base_metadata.stream.as_str(); + ensure!(!stream.is_empty(), "empty stream value"); + Ok(stream.to_string()) +} + /// Parse updates stream for booted deployment from status object. pub fn parse_booted_updates_stream(status: &StatusJson) -> Result { let json = booted_json(status)?; - ensure!(!json.base_metadata.stream.is_empty(), "empty stream value"); - Ok(json.base_metadata.stream) + fedora_coreos_stream_from_deployment(&json) } /// Parse pending deployment from status object. @@ -105,8 +110,7 @@ pub fn parse_pending_deployment(status: &StatusJson) -> Result Ok(None), Some(json) => { - let stream = json.base_metadata.stream.clone(); - ensure!(!stream.is_empty(), "empty stream value"); + let stream = fedora_coreos_stream_from_deployment(&json)?; let release = json.into_release(); Ok(Some((release, stream))) } @@ -239,6 +243,7 @@ mod tests { fn mock_booted_updates_stream() { let status = mock_status("tests/fixtures/rpm-ostree-status.json").unwrap(); let booted = booted_json(&status).unwrap(); - assert_eq!(booted.base_metadata.stream, "testing-devel"); + let stream = fedora_coreos_stream_from_deployment(&booted).unwrap(); + assert_eq!(stream, "testing-devel"); } }