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.
-----
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
${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)