MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / validate_cpu_quantity

Function validate_cpu_quantity

crates/openshell-cli/src/run.rs:1686–1714  ·  view source on GitHub ↗
(value: &str)

Source from the content-addressed store, hash-verified

1684}
1685
1686fn validate_cpu_quantity(value: &str) -> Result<String> {
1687 let value = value.trim();
1688 if value.is_empty() {
1689 return Err(miette!("--cpu must not be empty"));
1690 }
1691
1692 if let Some(millicores) = value.strip_suffix('m') {
1693 if millicores.is_empty() || !millicores.bytes().all(|b| b.is_ascii_digit()) {
1694 return Err(miette!(
1695 "invalid --cpu value '{value}': expected positive cores or millicores, for example 2, 0.5, or 500m"
1696 ));
1697 }
1698 let millicores = millicores.parse::<u64>().into_diagnostic()?;
1699 if millicores == 0 {
1700 return Err(miette!("--cpu must be greater than zero"));
1701 }
1702 return Ok(value.to_string());
1703 }
1704
1705 let cores = value.parse::<f64>().map_err(|_| {
1706 miette!(
1707 "invalid --cpu value '{value}': expected positive cores or millicores, for example 2, 0.5, or 500m"
1708 )
1709 })?;
1710 if !cores.is_finite() || cores <= 0.0 {
1711 return Err(miette!("--cpu must be greater than zero"));
1712 }
1713 Ok(value.to_string())
1714}
1715
1716fn validate_memory_quantity(value: &str) -> Result<String> {
1717 let value = value.trim();

Callers 1

Calls 1

is_emptyMethod · 0.45

Tested by

no test coverage detected