Skip to content

Commit

Permalink
Unrolled build for rust-lang#125472
Browse files Browse the repository at this point in the history
Rollup merge of rust-lang#125472 - erikdesjardins:component, r=clubby789

tidy: validate LLVM component names in tests

LLVM component names are not immediately obvious (they usually omit any suffixes on the target arch name), and if they're incorrect, the test will silently never run.

This happened [here](rust-lang#125220 (comment)), and it would be nice to prevent it.
  • Loading branch information
rust-timer committed May 26, 2024
2 parents 1ba35e9 + 5888de8 commit 4282987
Showing 1 changed file with 30 additions and 0 deletions.
30 changes: 30 additions & 0 deletions src/tools/tidy/src/target_specific_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,25 @@ use crate::walk::filter_not_rust;
const LLVM_COMPONENTS_HEADER: &str = "needs-llvm-components:";
const COMPILE_FLAGS_HEADER: &str = "compile-flags:";

const KNOWN_LLVM_COMPONENTS: &[&str] = &[
"aarch64",
"arm",
"avr",
"bpf",
"hexagon",
"loongarch",
"m68k",
"mips",
"msp430",
"nvptx",
"powerpc",
"riscv",
"sparc",
"systemz",
"webassembly",
"x86",
];

#[derive(Default, Debug)]
struct RevisionInfo<'a> {
target_arch: Option<&'a str>,
Expand Down Expand Up @@ -68,6 +87,17 @@ pub fn check(path: &Path, bad: &mut bool) {
// gathered.
}
}
if let Some(llvm_components) = llvm_components {
for component in llvm_components {
if !KNOWN_LLVM_COMPONENTS.contains(component) {
eprintln!(
"{}: revision {} specifies unknown LLVM component `{}`",
file, rev, component
);
*bad = true;
}
}
}
}
});
}

0 comments on commit 4282987

Please sign in to comment.