[libcxx-commits] [libcxx] 3fbc9c7 - [libc++] Add a new target check-cxx-deps to build dependencies of the test suite

Louis Dionne via libcxx-commits libcxx-commits at lists.llvm.org
Wed Apr 15 12:11:40 PDT 2020


Author: Louis Dionne
Date: 2020-04-15T15:11:27-04:00
New Revision: 3fbc9c7b51e427a549109f092d3a822b70e1e679

URL: https://github.com/llvm/llvm-project/commit/3fbc9c7b51e427a549109f092d3a822b70e1e679
DIFF: https://github.com/llvm/llvm-project/commit/3fbc9c7b51e427a549109f092d3a822b70e1e679.diff

LOG: [libc++] Add a new target check-cxx-deps to build dependencies of the test suite

When running the tests through `lit` directly instead of through `check-cxx`,
it is required to manually build the `cxx` (and often `cxx_experimental`)
targets. Instead of having to do that manually, this commit adds a new
target `check-cxx-deps` that does that for you.

Added: 
    

Modified: 
    libcxx/docs/TestingLibcxx.rst
    libcxx/test/CMakeLists.txt

Removed: 
    


################################################################################
diff  --git a/libcxx/docs/TestingLibcxx.rst b/libcxx/docs/TestingLibcxx.rst
index 683d5e0d9564..b70cf2e4b895 100644
--- a/libcxx/docs/TestingLibcxx.rst
+++ b/libcxx/docs/TestingLibcxx.rst
@@ -25,11 +25,14 @@ Usage
 -----
 
 After building libc++, you can run parts of the libc++ test suite by simply
-running ``llvm-lit`` on a specified test or directory. For example:
+running ``llvm-lit`` on a specified test or directory. If you're unsure
+whether the required libraries have been built, you can use the
+`check-cxx-deps` target. For example:
 
 .. code-block:: bash
 
   $ cd <monorepo-root>
+  $ make -C <build> check-cxx-deps # If you want to make sure the targets get rebuilt
   $ <build>/bin/llvm-lit -sv libcxx/test/std/re # Run all of the std::regex tests
   $ <build>/bin/llvm-lit -sv libcxx/test/std/depr/depr.c.headers/stdlib_h.pass.cpp # Run a single test
   $ <build>/bin/llvm-lit -sv libcxx/test/std/atomics libcxx/test/std/threads # Test std::thread and std::atomic

diff  --git a/libcxx/test/CMakeLists.txt b/libcxx/test/CMakeLists.txt
index 9b579f72605c..5068cbd1b1b0 100644
--- a/libcxx/test/CMakeLists.txt
+++ b/libcxx/test/CMakeLists.txt
@@ -109,10 +109,14 @@ if (LIBCXX_INCLUDE_TESTS)
     ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
     ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg)
 
+  add_custom_target(check-cxx-deps
+    DEPENDS cxx ${LIBCXX_TEST_DEPS}
+    COMMENT "Builds dependencies required to run the test suite.")
+
   add_lit_testsuite(check-cxx
     "Running libcxx tests"
     ${CMAKE_CURRENT_BINARY_DIR}
-    DEPENDS cxx ${LIBCXX_TEST_DEPS})
+    DEPENDS check-cxx-deps)
 endif()
 
 if (LIBCXX_GENERATE_COVERAGE)


        


More information about the libcxx-commits mailing list