forked from OSchip/llvm-project
[CMake] Include runtimes test suites in check-all
Prior to this change, we would make check-all depend on check-runtimes which is a target that runs tests in the runtimes build. This means that the runtimes tests are going to run prior to other test suites in check-all, and if one of them fails, we won't run the other test suites at all. To address this issue, we instead collect the list of test suites and their dependencies from the runtimes subbuild, and include them in check-all, so a failure of runtimes test suite doesn't prevent other test suites from being executed. This addresses https://github.com/llvm/llvm-project/issues/54154. Differential Revision: https://reviews.llvm.org/D121276
This commit is contained in:
parent
c8e6d68a9f
commit
f39a971d82
|
@ -1138,9 +1138,6 @@ if( LLVM_INCLUDE_TESTS )
|
|||
DEPENDS ${LLVM_LIT_DEPENDS} ${LLVM_ADDITIONAL_TEST_TARGETS}
|
||||
ARGS ${LLVM_LIT_EXTRA_ARGS}
|
||||
)
|
||||
if(TARGET check-runtimes)
|
||||
add_dependencies(check-all check-runtimes)
|
||||
endif()
|
||||
add_custom_target(test-depends
|
||||
DEPENDS ${LLVM_LIT_DEPENDS} ${LLVM_ADDITIONAL_TEST_DEPENDS})
|
||||
set_target_properties(test-depends PROPERTIES FOLDER "Tests")
|
||||
|
|
|
@ -220,6 +220,13 @@ function(runtime_default_target)
|
|||
endforeach()
|
||||
|
||||
if(LLVM_INCLUDE_TESTS)
|
||||
include(${LLVM_BINARY_DIR}/runtimes/Tests.cmake OPTIONAL RESULT_VARIABLE have_tests)
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/Tests.cmake)
|
||||
if(have_tests)
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${RUNTIMES_LIT_TESTSUITES})
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${RUNTIMES_LIT_PARAMS})
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${RUNTIMES_LIT_EXTRA_ARGS})
|
||||
endif()
|
||||
list(APPEND test_targets runtimes-test-depends check-runtimes)
|
||||
endif()
|
||||
|
||||
|
@ -296,6 +303,13 @@ function(runtime_register_target name target)
|
|||
endforeach()
|
||||
|
||||
if(LLVM_INCLUDE_TESTS)
|
||||
include(${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake OPTIONAL RESULT_VARIABLE have_tests)
|
||||
set_property(DIRECTORY APPEND PROPERTY CMAKE_CONFIGURE_DEPENDS ${LLVM_BINARY_DIR}/runtimes/${name}/Tests.cmake)
|
||||
if(have_tests)
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_TESTSUITES ${RUNTIMES_LIT_TESTSUITES})
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_PARAMS ${RUNTIMES_LIT_PARAMS})
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_LIT_EXTRA_ARGS ${RUNTIMES_LIT_EXTRA_ARGS})
|
||||
endif()
|
||||
set(runtimes-test-depends-${name} runtimes-test-depends)
|
||||
set(check-runtimes-${name} check-runtimes)
|
||||
list(APPEND ${name}_test_targets runtimes-test-depends-${name} check-runtimes-${name})
|
||||
|
@ -468,7 +482,6 @@ if(runtimes)
|
|||
|
||||
if(LLVM_INCLUDE_TESTS)
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_ADDITIONAL_TEST_DEPENDS runtimes-test-depends)
|
||||
set_property(GLOBAL APPEND PROPERTY LLVM_ADDITIONAL_TEST_TARGETS check-runtimes)
|
||||
|
||||
set(RUNTIMES_TEST_DEPENDS
|
||||
FileCheck
|
||||
|
|
|
@ -238,6 +238,16 @@ if(LLVM_INCLUDE_TESTS)
|
|||
add_subdirectory(${LLVM_MAIN_SRC_DIR}/utils/llvm-lit
|
||||
${CMAKE_CURRENT_BINARY_DIR}/llvm-lit)
|
||||
endif()
|
||||
|
||||
if(LLVM_RUNTIMES_TARGET)
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Tests.cmake.in
|
||||
${LLVM_BINARY_DIR}/runtimes/${LLVM_RUNTIMES_TARGET}/Tests.cmake)
|
||||
else()
|
||||
configure_file(
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Tests.cmake.in
|
||||
${LLVM_BINARY_DIR}/runtimes/Tests.cmake)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
get_property(SUB_COMPONENTS GLOBAL PROPERTY SUB_COMPONENTS)
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
set(RUNTIMES_LIT_TESTSUITES @RUNTIMES_LIT_TESTSUITES@)
|
||||
set(RUNTIMES_LIT_PARAMS @RUNTIMES_LIT_PARAMS@)
|
||||
set(RUNTIMES_LIT_EXTRA_ARGS @RUNTIMES_LIT_EXTRA_ARGS@)
|
Loading…
Reference in New Issue