-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
tidy: verify that test revisions with --target have associated needs-llvm-components directives #86272
Conversation
(rust-highfive has picked a reviewer for you, use r? to override) |
This comment has been minimized.
This comment has been minimized.
90c56ea
to
54d9fed
Compare
This comment has been minimized.
This comment has been minimized.
54d9fed
to
25ae80e
Compare
This comment has been minimized.
This comment has been minimized.
25ae80e
to
6c85ebb
Compare
This comment has been minimized.
This comment has been minimized.
6c85ebb
to
cb94e25
Compare
This comment has been minimized.
This comment has been minimized.
cb94e25
to
76abcb6
Compare
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.
This does make me wonder if we should automatically deduce the component needed based on --target (in the simple cases, at least)...
r=me with nit fixed |
76abcb6
to
2eaaca3
Compare
Herein we verify that all of the tests that specify a `--target` compile-flag, are also annotated with the minimal set of required llvm components necessary to run that test.
Doesn't work though, because compiletest doesn't process ignores on a per-revision manner.
Otherwise something that ought to seemingly work like `//[x86] needs-llvm-components: x86` or `//[nll_beyond]should-fail` do not get evaluated properly.
2eaaca3
to
cfcb2b6
Compare
@bors r=Mark-Simulacrum
I had in my head some corner cases that I decided were nasty enough that this idea wouldn't work, but now I don't remember what they were. |
📌 Commit cfcb2b6 has been approved by |
☀️ Test successful - checks-actions |
This ensures that people who tend to write
--target
#[no_core]
tests don't miss specifying theneeds-llvm-components
directive. This is necessary for the test suite to pass when LLVM is compiled with a subset of components enabled.While here I also took the opportunity to implement a more fine-grained handling of the ignore directives, so that they are evaluated for each revision, rather than for the entire test. With this even if people have
arm
component disabled, only the revision that depends on the arm component will not run.Fixes #82405