MCPcopy Create free account
hub / github.com/MultiFuzz/MultiFuzz / parse_duration_str

Function parse_duration_str

hail-fuzz/src/utils.rs:12–41  ·  view source on GitHub ↗
(name: &str)

Source from the content-addressed store, hash-verified

10const RANDOM_MAX: usize = 1024;
11
12pub(crate) fn parse_duration_str(name: &str) -> Option<Duration> {
13 if let Some(hours) = name
14 .strip_suffix("hours")
15 .or_else(|| name.strip_suffix("hour"))
16 .or_else(|| name.strip_suffix("hrs"))
17 .or_else(|| name.strip_suffix("hr"))
18 .or_else(|| name.strip_suffix("h"))
19 {
20 return Some(Duration::from_secs_f64(hours.parse::<f64>().ok()? * 60.0 * 60.0));
21 }
22 else if let Some(mins) = name
23 .strip_suffix("minutes")
24 .or_else(|| name.strip_suffix("minute"))
25 .or_else(|| name.strip_suffix("mins"))
26 .or_else(|| name.strip_suffix("min"))
27 .or_else(|| name.strip_suffix("m"))
28 {
29 return Some(Duration::from_secs_f64(mins.parse::<f64>().ok()? * 60.0));
30 }
31 else if let Some(seconds) = name
32 .strip_suffix("seconds")
33 .or_else(|| name.strip_suffix("second"))
34 .or_else(|| name.strip_suffix("secs"))
35 .or_else(|| name.strip_suffix("sec"))
36 .or_else(|| name.strip_suffix("s"))
37 {
38 return Some(Duration::from_secs_f64(seconds.parse::<f64>().ok()?));
39 }
40 None
41}
42
43/// Fill `buf` with random bytes.
44pub(crate) fn random_bytes<R: Rng>(rng: &mut R, buf: &mut Vec<u8>) {

Callers 1

runFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected