-
Notifications
You must be signed in to change notification settings - Fork 13.4k
compiletest: Support ignoring tests requiring missing LLVM components #75064
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
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