JDevlieghere created this revision. JDevlieghere added reviewers: labath, teemperor, stella.stamenova, kastiglione. Herald added a subscriber: mgorny. JDevlieghere requested review of this revision.
Make the api, shell and unit tests independent lit test suites. This allows us to specify different dependencies and skip rebuilding all the unit test (which is particularly expensive) when running `check-lldb-api` or `check-lldb-shell`. This does not change the autogenerated targets such as `check-lldb-shell-driver` or the top level `check-lldb` target, which all continue to work as before. https://reviews.llvm.org/D98842 Files: lldb/test/API/CMakeLists.txt lldb/test/CMakeLists.txt lldb/test/Shell/CMakeLists.txt lldb/test/Unit/CMakeLists.txt lldb/unittests/CMakeLists.txt
Index: lldb/unittests/CMakeLists.txt =================================================================== --- lldb/unittests/CMakeLists.txt +++ lldb/unittests/CMakeLists.txt @@ -1,6 +1,7 @@ add_custom_target(LLDBUnitTests) set_target_properties(LLDBUnitTests PROPERTIES FOLDER "lldb tests") -add_dependencies(lldb-test-deps LLDBUnitTests) + +add_dependencies(lldb-unit-test-deps LLDBUnitTests) include_directories(${LLDB_SOURCE_ROOT}) include_directories(${LLDB_PROJECT_ROOT}/unittests) Index: lldb/test/Unit/CMakeLists.txt =================================================================== --- lldb/test/Unit/CMakeLists.txt +++ lldb/test/Unit/CMakeLists.txt @@ -1,7 +1,16 @@ -# Configure the Unit test suite. +add_custom_target(lldb-unit-test-deps) +add_dependencies(lldb-unit-test-deps lldb-test-deps) + +add_lit_testsuites(LLDB-UNIT + ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS lldb-unit-test-deps) + configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py) +add_lit_testsuite(check-lldb-unit "Running lldb unit test suite" + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS lldb-unit-test-deps) Index: lldb/test/Shell/CMakeLists.txt =================================================================== --- lldb/test/Shell/CMakeLists.txt +++ lldb/test/Shell/CMakeLists.txt @@ -1,4 +1,10 @@ -# Configure the Shell test suite. +add_custom_target(lldb-shell-test-deps) +add_dependencies(lldb-shell-test-deps lldb-test-deps) + +add_lit_testsuites(LLDB-SHELL + ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS lldb-shell-test-deps) + configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py @@ -8,10 +14,6 @@ ${CMAKE_CURRENT_SOURCE_DIR}/lit-lldb-init.in ${CMAKE_CURRENT_BINARY_DIR}/lit-lldb-init) -if (CMAKE_GENERATOR STREQUAL "Xcode") - # Xcode does not get the auto-generated targets. We need to create - # check-lldb-shell manually. - add_lit_testsuite(check-lldb-shell "Running lldb shell test suite" - ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS lldb-test-deps) -endif() +add_lit_testsuite(check-lldb-shell "Running lldb shell test suite" + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS lldb-shell-test-deps) Index: lldb/test/CMakeLists.txt =================================================================== --- lldb/test/CMakeLists.txt +++ lldb/test/CMakeLists.txt @@ -182,18 +182,16 @@ MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py) -add_lit_testsuites(LLDB - ${CMAKE_CURRENT_SOURCE_DIR} - DEPENDS lldb-test-deps) - add_lit_testsuite(check-lldb-lit "Running lldb lit test suite" ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS lldb-test-deps) + DEPENDS + lldb-api-test-deps + lldb-shell-test-deps + lldb-unit-test-deps) set_target_properties(check-lldb-lit PROPERTIES FOLDER "lldb tests") add_custom_target(check-lldb) -add_dependencies(check-lldb lldb-test-deps) -set_target_properties(check-lldb PROPERTIES FOLDER "lldb misc") +set_target_properties(check-lldb PROPERTIES FOLDER "lldb tests") add_dependencies(check-lldb check-lldb-lit) # Add a lit test suite that runs the API & shell test while capturing a Index: lldb/test/API/CMakeLists.txt =================================================================== --- lldb/test/API/CMakeLists.txt +++ lldb/test/API/CMakeLists.txt @@ -1,3 +1,10 @@ +add_custom_target(lldb-api-test-deps) +add_dependencies(lldb-api-test-deps lldb-test-deps) + +add_lit_testsuites(LLDB-API + ${CMAKE_CURRENT_SOURCE_DIR} + DEPENDS lldb-api-test-deps) + function(add_python_test_target name test_script args comment) set(PYTHON_TEST_COMMAND ${Python3_EXECUTABLE} @@ -153,17 +160,12 @@ string(REPLACE ${CMAKE_CFG_INTDIR} ${dotest_args_replacement} LLDB_TEST_COMPILER "${LLDB_TEST_COMPILER}") string(REPLACE ${CMAKE_CFG_INTDIR} ${dotest_args_replacement} LLDB_TEST_DSYMUTIL "${LLDB_TEST_DSYMUTIL}") -# Configure the API test suite. configure_lit_site_cfg( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg.py MAIN_CONFIG ${CMAKE_CURRENT_SOURCE_DIR}/lit.cfg.py) -if (CMAKE_GENERATOR STREQUAL "Xcode") - # Xcode does not get the auto-generated targets. We need to create - # check-lldb-api manually. - add_lit_testsuite(check-lldb-api "Running lldb api test suite" - ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS lldb-test-deps) -endif() +add_lit_testsuite(check-lldb-api "Running lldb api test suite" + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS lldb-api-test-deps)
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits