-
Notifications
You must be signed in to change notification settings - Fork 12.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
compiletest: Support ignoring tests requiring missing LLVM components #75064
Conversation
@bors r+ |
📌 Commit d3277b9 has been approved by |
It might be a good idea to add a flag to assert that all needed components are available, to ensure that we don't accidentally stop running these tests entirely. |
…arth Rollup of 5 pull requests Successful merges: - rust-lang#74980 (pprust: adjust mixed comment printing and add regression test for rust-lang#74745) - rust-lang#75009 (Document the discrepancy in the mask type for _mm_shuffle_ps) - rust-lang#75031 (Do not trigger `unused_{braces,parens}` lints with `yield`) - rust-lang#75059 (fix typos) - rust-lang#75064 (compiletest: Support ignoring tests requiring missing LLVM components) Failed merges: r? @ghost
Addressed in #77280. |
//arm: define void @has_efiapi | ||
//riscv: define void @has_efiapi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You need to use CHECK
for this, right?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe. I simply reverted #66084 here and didn't make any changes.
…acrum Ensure that all LLVM components requested by tests are available on CI Addresses rust-lang#75064 (comment) I used an environment variable because passing a command line option all the way from CI to compiletest would be just too much hassle for this task. I added a new variable, but any of the already existing ones defined by CI could be used instead. r? @Mark-Simulacrum
This PR implements a more principled solution to the problem described in #66084.
Builds of LLVM backends take a lot of time and disk space.
So it usually makes sense to build rustc with
unless you are working on some target-specific tasks.
A few tests, however, require non-x86 backends to be built.
A new test directive
// needs-llvm-components: component1 component2 component3
makes such tests to be automatically ignored if one of the listed components is missing in the provided LLVM (this is determined throughllvm-config --components
).As a result, the test suite now fully passes with LLVM built only with the x86 backend. The component list in this case is
(With the default target list it's much larger.)
#66084 is also reverted now.
r? @Mark-Simulacrum