kermit_bench/
benchmark.rs

1use {super::downloader::DownloadSpec, std::path::Path};
2
3pub struct Task {
4    pub name: &'static str,
5    pub description: &'static str,
6    pub location: &'static str,
7}
8
9pub struct BenchmarkMetadata {
10    pub name: &'static str,
11    pub description: &'static str,
12    pub download_spec: DownloadSpec,
13    pub tasks: &'static [Task],
14}
15
16pub trait Benchmark {
17    fn metadata(&self) -> &BenchmarkMetadata;
18    fn load(&self, source: &Path, path: &Path) -> Result<(), Box<dyn std::error::Error>>;
19}