| 975 | } |
| 976 | |
| 977 | fn parse_cov_from_log(log_file: &Path) -> eyre::Result<Option<usize>> { |
| 978 | let bytes = std::fs::read(log_file)?; |
| 979 | let msg = String::from_utf8_lossy(&bytes); |
| 980 | let last_line = msg.lines().last().ok_or_else(|| eyre::eyre!("{msg}"))?; |
| 981 | let re = Regex::new(r"cov: (\d+)")?; |
| 982 | if let Some(captures) = re.captures(last_line) { |
| 983 | if let Some(cov) = captures.get(1) { |
| 984 | let cov = cov.as_str(); |
| 985 | let cov: usize = cov.parse()?; |
| 986 | return Ok(Some(cov)); |
| 987 | } |
| 988 | } |
| 989 | Ok(None) |
| 990 | } |
| 991 | |
| 992 | pub fn max_cpu_count() -> usize { |
| 993 | let max_cores = get_config().max_cores; |