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) _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits