blob: ba5a0252349a38c00739ef6adc047fe6ff053f0a [file] [log] [blame]
Douglas Gregor07705322009-06-05 16:00:31 +00001find_file(CLANG_TEST_RUNNER TestRunner.sh PATHS ${CMAKE_CURRENT_SOURCE_DIR}
2 DOC "Clang's regression testing script")
3mark_as_advanced(CLANG_TEST_RUNNER)
4
Douglas Gregor30018a62009-06-05 23:57:17 +00005set(CLANG_TEST_DIRECTORIES
6 "Analysis"
7 "CodeGen"
8 "CodeGenCXX"
9 "CodeGenObjC"
10 "Coverage"
11 "Driver"
12 "FixIt"
13 "Frontend"
14 "Lexer"
15 "Misc"
16 "PCH"
17 "Parser"
18 "Preprocessor"
19 "Rewriter"
20 "Sema"
21 "SemaCXX"
22 "SemaObjC"
23 "SemaObjCXX"
24 "SemaTemplate")
Douglas Gregor07705322009-06-05 16:00:31 +000025
Douglas Gregor30018a62009-06-05 23:57:17 +000026include(FindPythonInterp)
27if(PYTHONINTERP_FOUND)
28 get_target_property(LLVM_TOOLS_PATH clang RUNTIME_OUTPUT_DIRECTORY)
29 set(TESTING_EXTRA_PATHS
30 "${LLVM_TOOLS_PATH}/${CMAKE_CFG_INTDIR}:${LLVM_SOURCE_DIR}/test/Scripts")
31 set(all_testdirs)
32 foreach(testdir ${CLANG_TEST_DIRECTORIES})
33 add_custom_target(clang-test-${testdir}
34 ${PYTHON_EXECUTABLE}
35 ${LLVM_SOURCE_DIR}/tools/clang/utils/test/MultiTestRunner.py
36 -s
37 "--path=${TESTING_EXTRA_PATHS}"
38 ${CMAKE_CURRENT_SOURCE_DIR}/${testdir}/
39 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
40 COMMENT "Running Clang regression tests in ${testdir}")
41
42 list(APPEND all_testdirs ${CMAKE_CURRENT_SOURCE_DIR}/${testdir}/)
Douglas Gregorfa934802009-06-05 16:26:18 +000043 endforeach()
Douglas Gregor07705322009-06-05 16:00:31 +000044
Douglas Gregor30018a62009-06-05 23:57:17 +000045 add_custom_target(clang-test
46 ${PYTHON_EXECUTABLE}
47 ${LLVM_SOURCE_DIR}/tools/clang/utils/test/MultiTestRunner.py
48 "--path=${TESTING_EXTRA_PATHS}"
49 ${all_testdirs}
50 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
51 DEPENDS clang clang-cc
52 COMMENT "Running Clang regression tests")
53endif()