forked from OSchip/llvm-project
[lldb] Make the API, Shell and Unit tests independent lit test suites
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. Differential revision: https://reviews.llvm.org/D98842
This commit is contained in:
parent
14ae0cf0f5
commit
6c52d4fd4c
|
@ -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_EXECUTAB
|
|||
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)
|
||||
|
|
|
@ -17,9 +17,10 @@ config.name = 'lldb-api'
|
|||
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):
|
||||
|
|
|
@ -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@"
|
||||
|
|
|
@ -185,19 +185,13 @@ configure_lit_site_cfg(
|
|||
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.
|
||||
|
|
|
@ -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 @@ configure_file(
|
|||
${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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue