Re-land "[lldb] Make the API, Shell and Unit tests independent lit test suites"

The commit got reverted because the tests were being run twice because
of the overlapping test_exec_root. Pavel has since fixed that in
8248dd91d7f042893d4a605e98d19cb1b89a44d4.
This commit is contained in:
Jonas Devlieghere 2021-03-22 14:12:44 -07:00
parent 683590a203
commit eb26afbafe
5 changed files with 45 additions and 34 deletions

View File

@ -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)

View File

@ -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.

View File

@ -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)

View File

@ -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)

View File

@ -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)