Skip to content

Commit 3415738

Browse files
authored
Merge pull request #185 from EpiAware/fix/benchmark-history-old-commits
fix: stop benchmark-history aborting on commits that predate a benchmarked verb
2 parents 7da5787 + 87158ec commit 3415738

1 file changed

Lines changed: 25 additions & 8 deletions

File tree

benchmark/benchmarks.jl

Lines changed: 25 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,28 @@ const TEST_ZS = collect(range(-4.0, 6.0, length = 100))
3030
const TEST_PS = collect(range(0.05, 0.95, length = 20))
3131

3232
# Include benchmark definitions.
33-
include("src/baseline.jl")
34-
include("src/convolved.jl")
35-
include("src/difference.jl")
36-
include("src/product.jl")
37-
include("src/ratio.jl")
38-
include("src/timeseries.jl")
39-
include("src/quantile.jl")
40-
include("src/ad_gradients.jl")
33+
#
34+
# `benchmark-history` replays THIS suite against older commits, where a
35+
# member or verb the suite exercises may not exist yet. Loading such a
36+
# file raises at include time and would abort the whole run, losing every
37+
# other group's numbers along with it. Skip the group instead and carry
38+
# on, so the history keeps reporting for everything that does exist at
39+
# that commit -- the same trade-off the AD group already makes when its
40+
# scenarios cannot be constructed.
41+
function _include_group(path)
42+
try
43+
include(path)
44+
catch err
45+
@warn "Skipping benchmark group: it needs an API this commit " *
46+
"does not have" path err
47+
end
48+
return nothing
49+
end
50+
51+
for group in (
52+
"src/baseline.jl", "src/convolved.jl", "src/difference.jl",
53+
"src/product.jl", "src/ratio.jl", "src/timeseries.jl",
54+
"src/quantile.jl", "src/ad_gradients.jl",
55+
)
56+
_include_group(group)
57+
end

0 commit comments

Comments
 (0)