handle files that start with an invalid line
All checks were successful
CI / build (push) Successful in 45s
CI / checks (push) Successful in 1m7s
CI / build-nixpkgs (push) Successful in 38s

This commit is contained in:
Robin Appelman 2025-06-27 17:56:22 +02:00
commit b30003b304

View file

@ -69,16 +69,10 @@ fn main() -> MainResult {
let lines: Vec<_> = log_file.iter().enumerate().collect(); let lines: Vec<_> = log_file.iter().enumerate().collect();
let mut counts: HashMap<MatchResult, Vec<usize>> = HashMap::new(); let mut counts: HashMap<MatchResult, Vec<usize>> = HashMap::new();
let (_, first) = lines.first().copied().unwrap_or_default(); let Some(first_parsed) = lines.iter().find_map(|(_, line)| parse_line(line).ok()) else {
let first_parsed = match parse_line(first) { eprintln!("Failed to find at least one log line that parses successfully");
Ok(first_parsed) => first_parsed,
Err(e) => {
eprintln!("Failed to parse the first line in the log: {:#}", e);
eprintln!("{first}");
return Ok(()); return Ok(());
}
}; };
let server_version = first_parsed.version; let server_version = first_parsed.version;
let statements = get_statements( let statements = get_statements(
once(SourceDefinition { once(SourceDefinition {