diff --git a/lldb/test/API/CMakeLists.txt b/lldb/test/API/CMakeLists.txt --- a/lldb/test/API/CMakeLists.txt +++ b/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,39 +160,35 @@ 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() - # Targets for running the test suite on the different Apple simulators. add_lit_testsuite(check-lldb-simulator-ios "Running lldb test suite on the iOS simulator" ${CMAKE_CURRENT_BINARY_DIR} PARAMS "lldb-run-with-simulator=ios" EXCLUDE_FROM_CHECK_ALL - DEPENDS lldb-test-deps) + DEPENDS lldb-api-test-deps) add_lit_testsuite(check-lldb-simulator-watchos "Running lldb test suite on the watchOS simulator" ${CMAKE_CURRENT_BINARY_DIR} PARAMS "lldb-run-with-simulator=watchos" EXCLUDE_FROM_CHECK_ALL - DEPENDS lldb-test-deps) + DEPENDS lldb-api-test-deps) add_lit_testsuite(check-lldb-simulator-tvos "Running lldb test suite on the tvOS simulator" ${CMAKE_CURRENT_BINARY_DIR} PARAMS "lldb-run-with-simulator=tvos" EXCLUDE_FROM_CHECK_ALL - DEPENDS lldb-test-deps) + DEPENDS lldb-api-test-deps) + +add_lit_testsuite(check-lldb-api "Running lldb api test suite" + ${CMAKE_CURRENT_BINARY_DIR} + EXCLUDE_FROM_CHECK_ALL + DEPENDS lldb-api-test-deps) diff --git a/lldb/test/API/lit.cfg.py b/lldb/test/API/lit.cfg.py --- a/lldb/test/API/lit.cfg.py +++ b/lldb/test/API/lit.cfg.py @@ -17,9 +17,10 @@ config.suffixes = ['.py'] # test_source_root: The root path where tests are located. -# test_exec_root: The root path where tests should be run. config.test_source_root = os.path.dirname(__file__) -config.test_exec_root = config.test_source_root + +# test_exec_root: The root path where tests should be run. +config.test_exec_root = os.path.join(config.lldb_obj_root, 'test') def mkdir_p(path): diff --git a/lldb/test/API/lit.site.cfg.py.in b/lldb/test/API/lit.site.cfg.py.in --- a/lldb/test/API/lit.site.cfg.py.in +++ b/lldb/test/API/lit.site.cfg.py.in @@ -1,6 +1,5 @@ @LIT_SITE_CFG_IN_HEADER@ -config.test_exec_root = "@LLDB_BINARY_DIR@" config.llvm_src_root = "@LLVM_SOURCE_DIR@" config.llvm_obj_root = "@LLVM_BINARY_DIR@" config.llvm_tools_dir = "@LLVM_TOOLS_DIR@" diff --git a/lldb/test/CMakeLists.txt b/lldb/test/CMakeLists.txt --- a/lldb/test/CMakeLists.txt +++ b/lldb/test/CMakeLists.txt @@ -185,19 +185,13 @@ 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" +add_lit_testsuite(check-lldb "Running lldb lit test suite" ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS lldb-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") -add_dependencies(check-lldb check-lldb-lit) + DEPENDS + lldb-api-test-deps + lldb-shell-test-deps + lldb-unit-test-deps) +set_target_properties(check-lldb PROPERTIES FOLDER "lldb tests") # Add a lit test suite that runs the API & shell test while capturing a # reproducer. diff --git a/lldb/test/Shell/CMakeLists.txt b/lldb/test/Shell/CMakeLists.txt --- a/lldb/test/Shell/CMakeLists.txt +++ b/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,7 @@ ${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} + EXCLUDE_FROM_CHECK_ALL + DEPENDS lldb-shell-test-deps) diff --git a/lldb/test/Unit/CMakeLists.txt b/lldb/test/Unit/CMakeLists.txt --- a/lldb/test/Unit/CMakeLists.txt +++ b/lldb/test/Unit/CMakeLists.txt @@ -1,7 +1,17 @@ -# 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} + EXCLUDE_FROM_CHECK_ALL + DEPENDS lldb-unit-test-deps) diff --git a/lldb/unittests/CMakeLists.txt b/lldb/unittests/CMakeLists.txt --- a/lldb/unittests/CMakeLists.txt +++ b/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)