66 lines · plain
1set(MEMPROF_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})2 3set(MEMPROF_TESTSUITES)4set(MEMPROF_DYNAMIC_TESTSUITES)5 6macro(get_bits_for_arch arch bits)7 if (${arch} MATCHES "x86_64")8 set(${bits} 64)9 else()10 message(FATAL_ERROR "Unexpected target architecture: ${arch}")11 endif()12endmacro()13 14set(MEMPROF_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS} memprof)15if(NOT COMPILER_RT_STANDALONE_BUILD AND COMPILER_RT_HAS_LLD AND TARGET lld)16 list(APPEND MEMPROF_TEST_DEPS lld)17endif()18set(MEMPROF_DYNAMIC_TEST_DEPS ${MEMPROF_TEST_DEPS})19 20set(MEMPROF_TEST_ARCH ${MEMPROF_SUPPORTED_ARCH})21 22foreach(arch ${MEMPROF_TEST_ARCH})23 set(MEMPROF_TEST_TARGET_ARCH ${arch})24 string(TOLOWER "-${arch}-${OS_NAME}" MEMPROF_TEST_CONFIG_SUFFIX)25 get_bits_for_arch(${arch} MEMPROF_TEST_BITS)26 get_test_cc_for_arch(${arch} MEMPROF_TEST_TARGET_CC MEMPROF_TEST_TARGET_CFLAGS)27 set(MEMPROF_TEST_DYNAMIC False)28 string(TOUPPER ${arch} ARCH_UPPER_CASE)29 set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)30 configure_lit_site_cfg(31 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in32 ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py33 )34 list(APPEND MEMPROF_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})35 36 string(TOLOWER "-${arch}-${OS_NAME}-dynamic" MEMPROF_TEST_CONFIG_SUFFIX)37 set(MEMPROF_TEST_DYNAMIC True)38 set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}DynamicConfig)39 configure_lit_site_cfg(40 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.py.in41 ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME}/lit.site.cfg.py)42 list(APPEND MEMPROF_DYNAMIC_TESTSUITES43 ${CMAKE_CURRENT_BINARY_DIR}/${CONFIG_NAME})44endforeach()45 46# Add unit tests.47foreach(arch ${MEMPROF_TEST_ARCH})48 string(TOUPPER ${arch} ARCH_UPPER_CASE)49 set(CONFIG_NAME ${ARCH_UPPER_CASE}${OS_NAME}Config)50 configure_lit_site_cfg(51 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.py.in52 ${CMAKE_CURRENT_BINARY_DIR}/Unit/${CONFIG_NAME}/lit.site.cfg.py)53 list(APPEND MEMPROF_TEST_DEPS MemProfUnitTests)54 list(APPEND MEMPROF_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/Unit/${CONFIG_NAME})55endforeach()56 57add_lit_testsuite(check-memprof "Running the MemProfiler tests"58 ${MEMPROF_TESTSUITES}59 DEPENDS ${MEMPROF_TEST_DEPS})60 61add_lit_testsuite(check-memprof-dynamic62 "Running the MemProfiler tests with dynamic runtime"63 ${MEMPROF_DYNAMIC_TESTSUITES}64 ${exclude_from_check_all.g}65 DEPENDS ${MEMPROF_DYNAMIC_TEST_DEPS})66