blob: 4dc475af8ee3912bc648f677e37bf84bd3d313ec [file] [log] [blame]
Chandler Carruth118232f2012-08-07 08:33:041# Test runner infrastructure for Clang-based tools. This configures the Clang
2# test trees for use by Lit, and delegates to LLVM's lit test handlers.
Chandler Carruthc5062dc2012-08-07 07:09:143#
Chandler Carruth118232f2012-08-07 08:33:044# Note that currently we don't support stand-alone builds of Clang, you must
5# be building Clang from within a combined LLVM+Clang checkout..
Chandler Carruthc5062dc2012-08-07 07:09:146
Chandler Carruth118232f2012-08-07 08:33:047set(CLANG_TOOLS_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/..")
8set(CLANG_TOOLS_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..")
Chandler Carruthc5062dc2012-08-07 07:09:149
NAKAMURA Takumi5d942f22014-01-19 11:19:0710if (CMAKE_CFG_INTDIR STREQUAL ".")
11 set(LLVM_BUILD_MODE ".")
12else ()
13 set(LLVM_BUILD_MODE "%(build_mode)s")
14endif ()
15
NAKAMURA Takumic28a9a22014-01-19 13:00:0116string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} CLANG_TOOLS_DIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
NAKAMURA Takumi5d942f22014-01-19 11:19:0717
Edwin Vane8b526f22013-02-19 19:08:1018configure_lit_site_cfg(
19 ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in
20 ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg
21 )
22
Edwin Vanec0b7be62013-04-03 15:11:0823configure_lit_site_cfg(
24 ${CMAKE_CURRENT_SOURCE_DIR}/Unit/lit.site.cfg.in
25 ${CMAKE_CURRENT_BINARY_DIR}/Unit/lit.site.cfg
26 )
27
Chandler Carruth074a3562013-03-07 10:09:4728option(CLANG_TOOLS_TEST_USE_VG "Run Clang tools' tests under Valgrind" OFF)
29if(CLANG_TOOLS_TEST_USE_VG)
30 set(CLANG_TOOLS_TEST_EXTRA_ARGS ${CLANG_TEST_EXTRA_ARGS} "--vg")
31endif()
32
Chandler Carruth118232f2012-08-07 08:33:0433set(CLANG_TOOLS_TEST_DEPS
34 # Base line deps.
NAKAMURA Takumi21bf7a12013-12-09 19:27:4635 FileCheck count not
Chandler Carruth118232f2012-08-07 08:33:0436
NAKAMURA Takumiecba4c32015-12-21 01:35:2837 # clang-tidy tests require it.
38 clang-headers
39
Benjamin Kramer8f5eb562016-03-03 08:58:1240 # For the clang-tidy libclang integration test.
41 c-index-test
42
Chandler Carruth074a3562013-03-07 10:09:4743 # Individual tools we test.
NAKAMURA Takumia256eb42013-10-31 12:46:1044 clang-apply-replacements
Benjamin Kramercf4c6d82016-04-27 14:32:3645 clang-include-fixer
Peter Collingbourneb5490192014-02-18 19:46:0146 clang-query
Benjamin Kramercf4c6d82016-04-27 14:32:3647 clang-rename
NAKAMURA Takumia256eb42013-10-31 12:46:1048 clang-tidy
49 modularize
NAKAMURA Takumi125a4172013-10-31 12:46:1650 pp-trace
Edwin Vanec0b7be62013-04-03 15:11:0851
52 # Unit tests
53 ExtraToolsUnitTests
Chandler Carruthc5062dc2012-08-07 07:09:1454 )
55
Chandler Carruth074a3562013-03-07 10:09:4756add_lit_testsuite(check-clang-tools "Running the Clang extra tools' regression tests"
Chandler Carruth118232f2012-08-07 08:33:0457 ${CMAKE_CURRENT_BINARY_DIR}
58 DEPENDS ${CLANG_TOOLS_TEST_DEPS}
59 ARGS ${CLANG_TOOLS_TEST_EXTRA_ARGS}
60 )
Chandler Carruth074a3562013-03-07 10:09:4761set_target_properties(check-clang-tools PROPERTIES FOLDER "Clang extra tools' tests")
62