[Lldb-commits] [lldb] 366fb53 - [lldb] Fix missing dependency on libc++ from LLDB test suite on non-Darwin platforms
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Mon Oct 18 06:59:49 PDT 2021
Author: Raphael Isemann
Date: 2021-10-18T15:59:34+02:00
New Revision: 366fb539485a9753e4a8167fe5140bf4fb00a098
URL: https://github.com/llvm/llvm-project/commit/366fb539485a9753e4a8167fe5140bf4fb00a098
DIFF: https://github.com/llvm/llvm-project/commit/366fb539485a9753e4a8167fe5140bf4fb00a098.diff
LOG: [lldb] Fix missing dependency on libc++ from LLDB test suite on non-Darwin platforms
Right now we only set a dependency on libc++ when the host is Darwin, which
means that libc++ in the build directory is in some undefined state when running
the test suite (it can be fully built, out-of-date or missing). Depending on
whether we have a system libc++ (which LLDB also supports running the libc++
tests against), the outcome is that we sometimes skip the libc++ tests or we run
the tests against a mix of ToT-libc++/system-libc++ (e.g., we compile against
the ToT-libc++ headers and link against the system libc++ library).
This can be demonstrated via `export LIT_FILTER=TestDataFormatterLibcxxSet ninja
check-lldb-api` (or any other libc++ test) and then gradually building parts of
libc++ in the same build (which will slowly change the test behaviour from
`UNSUPPORTED` to various failures to passing depending on how much of libcxx is
built at test time).
Note that this effectively re-enables the (unintentionally) disabled libc++
formatter tests on Linux. Don't revert this if it breaks a libc++ LLDB test,
instead please @skipIf decorate the failing test (as it was probably already
failing before this commit).
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D111981
Added:
Modified:
lldb/test/CMakeLists.txt
Removed:
################################################################################
diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt
index ca60295a0054..dcb59cfb6c1c 100644
--- a/lldb/test/CMakeLists.txt
+++ b/lldb/test/CMakeLists.txt
@@ -135,9 +135,16 @@ if(TARGET clang)
"`LLDB_INCLUDE_TESTS=OFF`.")
endif()
endif()
- add_lldb_test_dependency(cxx)
endif()
endif()
+
+ # Add libc++ dependency for libc++-specific tests. This is an optional
+ # dependency as it's also possible to run the libc++ tests against the libc++
+ # installed on the system.
+ if (TARGET cxx)
+ add_lldb_test_dependency(cxx)
+ endif()
+
endif()
if (LLDB_BUILT_STANDALONE)
More information about the lldb-commits
mailing list