-
Notifications
You must be signed in to change notification settings - Fork 795
[SYCL][NFC] Re-enable, fix and upgrade headers testing #16117
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
[SYCL][NFC] Re-enable, fix and upgrade headers testing #16117
Conversation
Not sure if that's a bug or a feature... I found it somewhat useful to scan build directory. |
I took a brief look at how many headers we generate and I haven't found anything important - i.e. those Me and other folks encountered a situation when you switch between branches and build directory contains headers which had been previously removed, but still stay there until you do clean build. I.e. I was asked a couple of times something like "why do I see those weird errors at I've also just realized that I forgot to update the documentation we have for the sub-suite. |
# To respect SYCL_LIB_DUMPS_ONLY mode | ||
if ".cpp" not in localConfig.suffixes: | ||
return |
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 variable makes little sense to me... What's wrong with LIT_FILTER=.dump
? I'd rather make sure that LIT_FILTER
is handled correctly here and drop our hack.
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 variable makes little sense to me... What's wrong with
LIT_FILTER=.dump
? I'd rather make sure thatLIT_FILTER
is handled correctly here and drop our hack.
I think that LIT_FILTER=.dump
should still work, but most likely the author of the following code was not aware of that feature:
Lines 26 to 28 in 5f65de4
dump_only_tests = bool(lit_config.params.get("SYCL_LIB_DUMPS_ONLY", False)) | |
if dump_only_tests: | |
config.suffixes = [".dump"] # Only run dump testing |
Yes, and when these self-contained tests fail it's a remainder to remove these stale headers. It's the right thing to do anyway, because that will catch errors if removed header is still referenced and is taken from this stale build directory. |
The thing is, even the old version won't immediately fail once we remove a header - it will only fail if that header breaks. For example, if headers that it includes stopped to provide some definitions. Therefore, it shouldn't be considered to be a reliable mechanism for that. If that is something we would like to support, I can look into it, i.e. the script could scan build directory first and then check if that still exists in source directory and if we have a special test for it. An alternative here is to tweak our CMakeLitst.txt so that it wipes out |
@intel/llvm-gatekeepers, I've done local merge + |
We have a suite to check that every header contains enough
#include
directives and forward declarations so that it can be included standalone and used. However, that suite got accidentally disabled some time ago in #14879This PR re-enabled the suite and fixed all issues it detected.
Besides that, the suite is upgraded: