Skip to content

Commit af2490c

Browse files
committed
Add a test for checking the existence of [workspace] in the Cargo.toml files of compile benchmarks
1 parent 9cae27a commit af2490c

File tree

1 file changed

+15
-6
lines changed
  • collector/src/compile/benchmark

1 file changed

+15
-6
lines changed

collector/src/compile/benchmark/mod.rs

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -620,13 +620,22 @@ mod tests {
620620
#[test]
621621
fn check_compile_benchmarks() {
622622
// Check that we can deserialize all perf-config.json files in the compile benchmark
623-
// directory.
623+
// directory and that they have [workspace] in their Cargo.toml.
624624
let root = env!("CARGO_MANIFEST_DIR");
625-
let benchmarks = get_compile_benchmarks(
626-
&Path::new(root).join("compile-benchmarks"),
627-
CompileBenchmarkFilter::All,
628-
)
629-
.unwrap();
625+
let benchmark_dir = Path::new(root).join("compile-benchmarks");
626+
let benchmarks =
627+
get_compile_benchmarks(&benchmark_dir, CompileBenchmarkFilter::All).unwrap();
630628
assert!(!benchmarks.is_empty());
629+
630+
for benchmark in benchmarks {
631+
let dir = benchmark_dir.join(&benchmark.name.0);
632+
let cargo_toml = std::fs::read_to_string(&dir.join("Cargo.toml"))
633+
.expect(&format!("Cannot read Cargo.toml of {}", benchmark.name));
634+
assert!(
635+
cargo_toml.contains("[workspace]"),
636+
"{} does not contain [workspace] in its Cargo.toml",
637+
benchmark.name
638+
);
639+
}
631640
}
632641
}

0 commit comments

Comments
 (0)