blob: fe31752ff25f84cc9b174ae4c2208613ab821a5a [file] [log] [blame]
Chandler Carruth8a629072012-06-30 10:14:27 +00001# Test runner infrastructure for Clang. This configures the Clang test trees
2# for use by Lit, and delegates to LLVM's lit test handlers.
Douglas Gregor07705322009-06-05 16:00:31 +00003
NAKAMURA Takumi17645a42013-12-17 04:14:17 +00004if (CMAKE_CFG_INTDIR STREQUAL ".")
5 set(LLVM_BUILD_MODE ".")
6else ()
7 set(LLVM_BUILD_MODE "%(build_mode)s")
8endif ()
9
NAKAMURA Takumi462ba802013-12-18 15:08:56 +000010string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${CLANG_RUNTIME_OUTPUT_INTDIR})
NAKAMURA Takumi17645a42013-12-17 04:14:17 +000011string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
12string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_LIBS_DIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
13
Chandler Carruth8279aa72012-06-29 00:39:23 +000014configure_lit_site_cfg(
Daniel Dunbar06696702009-11-07 23:53:32 +000015 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
Chandler Carruth8279aa72012-06-29 00:39:23 +000016 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
17 )
Daniel Dunbar06696702009-11-07 23:53:32 +000018
Chandler Carruth8279aa72012-06-29 00:39:23 +000019configure_lit_site_cfg(
NAKAMURA Takumi22ec6602011-02-03 09:01:12 +000020 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
21 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
Chandler Carruth8279aa72012-06-29 00:39:23 +000022 )
NAKAMURA Takumi22ec6602011-02-03 09:01:12 +000023
Chandler Carruth8a629072012-06-30 10:14:27 +000024option(CLANG_TEST_USE_VG "Run Clang tests under Valgrind" OFF)
25if(CLANG_TEST_USE_VG)
26 set(CLANG_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
27endif ()
28
NAKAMURA Takumi5de6b432013-12-19 16:05:39 +000029list(APPEND CLANG_TEST_DEPS
Jordan Rose08bf4fd2013-02-08 07:28:25 +000030 clang clang-headers
31 c-index-test diagtool arcmt-test c-arcmt-test
Daniel Jasperb7fb5e62013-03-25 09:14:25 +000032 clang-check clang-format
Jordan Rose08bf4fd2013-02-08 07:28:25 +000033 )
34set(CLANG_TEST_PARAMS
35 clang_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
36 )
Chandler Carruth8a629072012-06-30 10:14:27 +000037
Jordan Rose08bf4fd2013-02-08 07:28:25 +000038if( NOT CLANG_BUILT_STANDALONE )
39 list(APPEND CLANG_TEST_DEPS
NAKAMURA Takumi67eade62013-12-04 03:40:56 +000040 llvm-config
Evgeniy Stepanoveeabe822013-03-13 09:36:02 +000041 llc opt FileCheck count not llvm-symbolizer
Chandler Carruth8a629072012-06-30 10:14:27 +000042 )
Daniel Dunbara3b52d72009-11-03 07:25:53 +000043endif()
Chandler Carruth8a629072012-06-30 10:14:27 +000044
NAKAMURA Takumie6d79ec2013-12-19 16:44:32 +000045add_lit_testsuite(check-clang "Running the Clang regression tests"
46 ${CMAKE_CURRENT_BINARY_DIR}
NAKAMURA Takumief4657e2013-12-19 17:10:30 +000047 #LIT ${LLVM_LIT}
NAKAMURA Takumie6d79ec2013-12-19 16:44:32 +000048 PARAMS ${CLANG_TEST_PARAMS}
49 DEPENDS ${CLANG_TEST_DEPS}
50 ARGS ${CLANG_TEST_EXTRA_ARGS}
51 )
52set_target_properties(check-clang PROPERTIES FOLDER "Clang tests")
53
Chandler Carruth8a629072012-06-30 10:14:27 +000054# Add a legacy target spelling: clang-test
Chandler Carruthdc2e4bc2012-07-02 21:46:03 +000055add_custom_target(clang-test)
56add_dependencies(clang-test check-clang)
Chandler Carruth8a629072012-06-30 10:14:27 +000057set_target_properties(clang-test PROPERTIES FOLDER "Clang tests")