Skip to content

Commit 09dabbb

Browse files
Fix panic on missing benchmark for >= 20 commits.
1 parent 0d8f690 commit 09dabbb

File tree

1 file changed

+13
-8
lines changed

1 file changed

+13
-8
lines changed

site/src/load.rs

Lines changed: 13 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -421,14 +421,19 @@ impl InputData {
421421

422422
// benchmark exists, but might have runs missing
423423
if let Ok(benchmark) = entry {
424-
let missing_runs = known_runs[benchmark_name]
425-
.iter()
426-
.filter(|rname| !benchmark.runs.iter().any(|r| *r == **rname))
427-
.collect::<Vec<_>>();
428-
if !missing_runs.is_empty() {
429-
let before = benchmark.runs.len();
430-
fill_benchmark_runs(benchmark, missing_runs, &mut assoc);
431-
assert_ne!(before, benchmark.runs.len(), "made progress");
424+
// If we've not had a benchmark at all in the last few
425+
// commits then just skip run interpolation for it; the
426+
// benchmark should get total-benchmark interpolated.
427+
if let Some(known_runs) = known_runs.get(benchmark_name) {
428+
let missing_runs = known_runs
429+
.iter()
430+
.filter(|rname| !benchmark.runs.iter().any(|r| *r == **rname))
431+
.collect::<Vec<_>>();
432+
if !missing_runs.is_empty() {
433+
let before = benchmark.runs.len();
434+
fill_benchmark_runs(benchmark, missing_runs, &mut assoc);
435+
assert_ne!(before, benchmark.runs.len(), "made progress");
436+
}
432437
}
433438
}
434439
}

0 commit comments

Comments
 (0)