-
Notifications
You must be signed in to change notification settings - Fork 14.3k
[libc++][CI] Replace LLDB test targets with libc++ test category #110856
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
Conversation
@llvm/pr-subscribers-libcxx @llvm/pr-subscribers-lldb Author: Michael Buch (Michael137) ChangesWe've been increasing the coverage of libc++ LLDB tests in the pre-merge CI (see #110570). Unfortunately the tests are spread across different targets. It would be great if we had a single target that libc++ maintainers could run. And we would just add additional tests to that list on the LLDB side as needed. This patch adds such target. I'm not sure if there's a more idiomatic way of doing this in CMake (or maybe Full diff: https://github.com/llvm/llvm-project/pull/110856.diff 1 Files Affected:
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index 5ac474736eb63d..656f9a1727b316 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -267,6 +267,21 @@ add_lit_testsuite(check-lldb "Running lldb lit test suite"
lldb-shell-test-deps
lldb-unit-test-deps)
+# This target covers all targets that are tied to implementation details
+# of libc++, intended to be run by the libc++ pre-merge CI.
+add_lit_testsuite(check-lldb-libcxx-integration "Running lldb libc++ support test suite"
+ ${CMAKE_CURRENT_BINARY_DIR}
+ EXCLUDE_FROM_CHECK_ALL
+ DEPENDS
+ check-lldb-api-functionalities-data-formatter-data-formatter-stl-libcxx
+ check-lldb-api-functionalities-data-formatter-data-formatter-stl-generic
+ check-lldb-api-functionalities-data-formatter-data-formatter-stl-libcxx-simulators
+ check-lldb-api-commands-expression-import-std-module
+ check-lldb-api-lang-cpp-std-function-step-into-callable
+ check-lldb-api-lang-cpp-std-function-recognizer
+ check-lldb-api-lang-cpp-std-invoke-recognizer
+)
+
if(LLDB_BUILT_STANDALONE)
# This has to happen *AFTER* add_lit_testsuite.
if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/llvm-lit)
|
c296f06
to
8aea286
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.
Libc++ changes LGTM. Thank you!
Hmm actually currently doesn't quite do what I wanted.. |
I'd probably use a test category for this (either the existing libc++ category, or if that doesn't fit your use case for some reason, then a new category created specifically for this purpose). |
Agreed, that would be preferable. Is the suggestion to run something like:
Instead of a ninja target? |
If that works, then I guess the answer is "yes". |
Just for my understanding, is |
That's an option to LLDB's llvm-project/lldb/test/API/commands/expression/import-std-module/basic/TestImportStdModule.py Line 11 in 19c6958
Lit will pass the |
@@ -0,0 +1 @@ | |||
libc++ |
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.
We don't want this, as one of the biggest advantages of these tests is that they don't require an actual libc++ library. Given that, it may not even be very useful to run them as a part of the libc++ suite, but if you really do want to run them here, then i think we ought to create a separate category for this.
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.
Yea that's fair. We still include headers in those tests to get type_traits etc.
But yea they shouldn't be libc++ dependent (at least not on the layout of the types).
a639ac7
to
91002ca
Compare
Hmm getting
In the |
Yea i think we need to run make sure the |
Hmm seems like we can't currently run
Looks like the mechanism by which we mark tests skipped doesn't work for the partial methods we construct for the |
It looks like the simulator tests are too smart for their own good. #111353 ought to fix this. |
28e6bac
to
73a2370
Compare
LLVM Buildbot has detected a new failure on builder Full details are available at: https://lab.llvm.org/buildbot/#/builders/159/builds/7709 Here is the relevant piece of the build log for the reference
|
We've been increasing the coverage of libc++ LLDB tests in the pre-merge CI (see #110570). Unfortunately the tests are spread across different targets. It would be great if we had a single target that libc++ maintainers could run.
We do this by passing the
libc++
test-category as a parameter to LLDB'sdotest
testing framework. This will only run LLDB tests that have been marked as belonging to thelibc++
category.