96 lines · plain
1set(CFI_TESTSUITES)2 3macro (add_cfi_test_suites lld thinlto)4 set(suffix)5 if (${lld})6 set(suffix ${suffix}-lld)7 endif()8 if (${thinlto})9 set(suffix ${suffix}-thinlto)10 endif()11 set(suffix ${suffix}-${CFI_TEST_TARGET_ARCH})12 13 set(CFI_TEST_USE_LLD ${lld})14 set(CFI_TEST_USE_THINLTO ${thinlto})15 16 set(CFI_LIT_TEST_MODE Standalone)17 set(CFI_TEST_CONFIG_SUFFIX -standalone${suffix})18 configure_lit_site_cfg(19 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in20 ${CMAKE_CURRENT_BINARY_DIR}/Standalone${suffix}/lit.site.cfg.py21 )22 list(APPEND CFI_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/Standalone${suffix})23 24 set(CFI_LIT_TEST_MODE Devirt)25 set(CFI_TEST_CONFIG_SUFFIX -devirt${suffix})26 configure_lit_site_cfg(27 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in28 ${CMAKE_CURRENT_BINARY_DIR}/Devirt${suffix}/lit.site.cfg.py29 )30 list(APPEND CFI_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/Devirt${suffix})31endmacro()32 33set(CFI_TEST_ARCH ${CFI_SUPPORTED_ARCH})34if(APPLE)35 darwin_filter_host_archs(CFI_SUPPORTED_ARCH CFI_TEST_ARCH)36endif()37 38foreach(arch ${CFI_TEST_ARCH})39 set(CFI_TEST_TARGET_ARCH ${arch})40 get_test_cc_for_arch(${arch} CFI_TEST_TARGET_CC CFI_TEST_TARGET_CFLAGS)41 if (APPLE)42 # FIXME: enable ThinLTO tests after fixing http://llvm.org/pr3274143 add_cfi_test_suites(False False False)44 elseif(WIN32)45 add_cfi_test_suites(True False)46 add_cfi_test_suites(True True)47 else()48 add_cfi_test_suites(False False)49 add_cfi_test_suites(False True)50 if (COMPILER_RT_HAS_LLD)51 add_cfi_test_suites(True False)52 add_cfi_test_suites(True True)53 endif()54 endif()55endforeach()56 57set(CFI_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})58list(APPEND CFI_TEST_DEPS59 ubsan60 stats61)62list(APPEND CFI_TEST_DEPS cfi)63 64if(NOT COMPILER_RT_STANDALONE_BUILD)65 list(APPEND CFI_TEST_DEPS66 opt67 sanstats68 )69 if(LLVM_ENABLE_PIC)70 if(LLVM_BINUTILS_INCDIR)71 list(APPEND CFI_TEST_DEPS72 LLVMgold73 )74 endif()75 if(APPLE)76 list(APPEND CFI_TEST_DEPS77 LTO78 )79 endif()80 endif()81 if(NOT APPLE AND COMPILER_RT_HAS_LLD AND TARGET lld)82 list(APPEND CFI_TEST_DEPS83 lld84 )85 endif()86endif()87 88add_lit_testsuite(check-cfi "Running the cfi regression tests"89 ${CFI_TESTSUITES}90 DEPENDS ${CFI_TEST_DEPS})91 92add_lit_target(check-cfi-and-supported "Running the cfi regression tests"93 ${CFI_TESTSUITES}94 PARAMS check_supported=195 DEPENDS ${CFI_TEST_DEPS})96