[ASan] Simplify exception/longjmp tests even further
[blocksruntime.git] / test / sanitizer_common / CMakeLists.txt
blob13eecbdc1b2bbd9574603848373631b0696006f5
1 set(SANITIZER_COMMON_LIT_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
3 set(SANITIZER_COMMON_TEST_DEPS ${SANITIZER_COMMON_LIT_TEST_DEPS})
4 set(SANITIZER_COMMON_TESTSUITES)
6 set(SUPPORTED_TOOLS)
7 if(CMAKE_SYSTEM_NAME MATCHES "Darwin|Linux|FreeBSD" AND NOT ANDROID)
8   list(APPEND SUPPORTED_TOOLS asan)
9 endif()
10 if(CMAKE_SYSTEM_NAME MATCHES "Linux" AND NOT ANDROID)
11   list(APPEND SUPPORTED_TOOLS tsan)
12   list(APPEND SUPPORTED_TOOLS msan)
13   list(APPEND SUPPORTED_TOOLS lsan)
14 endif()
16 # Create a separate config for each tool we support.
17 foreach(tool ${SUPPORTED_TOOLS})
18   string(TOUPPER ${tool} tool_toupper)
19   if(${tool_toupper}_SUPPORTED_ARCH)
20     set(SANITIZER_COMMON_LIT_TEST_MODE ${tool})
21     configure_lit_site_cfg(
22       ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
23       ${CMAKE_CURRENT_BINARY_DIR}/${tool}/lit.site.cfg)
24     list(APPEND SANITIZER_COMMON_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/${tool})
25     if(NOT COMPILER_RT_STANDALONE_BUILD)
26       list(APPEND SANITIZER_COMMON_TEST_DEPS ${tool})
27     endif()
28   endif()
29 endforeach()
31 # Unit tests.
32 if(COMPILER_RT_INCLUDE_TESTS)
33   configure_lit_site_cfg(
34     ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
35     ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg)
36   list(APPEND SANITIZER_COMMON_TESTSUITES ${CMAKE_CURRENT_BINARY_DIR}/Unit)
37   list(APPEND SANITIZER_COMMON_TEST_DEPS SanitizerUnitTests)
38 endif()
40 if(SANITIZER_COMMON_TESTSUITES)
41   add_lit_testsuite(check-sanitizer "Running sanitizer_common tests"
42     ${SANITIZER_COMMON_TESTSUITES}
43     DEPENDS ${SANITIZER_COMMON_TEST_DEPS})
44   set_target_properties(check-sanitizer PROPERTIES FOLDER
45                         "sanitizer_common tests")
46 endif()