[cfe-commits] r72947 - in /cfe/trunk: CMake/RunTests/CMakeLists.txt test/CMakeLists.txt
Douglas Gregor
dgregor at apple.com
Fri Jun 5 09:26:19 PDT 2009
Author: dgregor
Date: Fri Jun 5 11:26:18 2009
New Revision: 72947
URL: http://llvm.org/viewvc/llvm-project?rev=72947&view=rev
Log:
Clean up Clang regression testing in CMake, so that we get more
logical output when running all of the Clang regression tests at once.
Modified:
cfe/trunk/CMake/RunTests/CMakeLists.txt
cfe/trunk/test/CMakeLists.txt
Modified: cfe/trunk/CMake/RunTests/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/CMake/RunTests/CMakeLists.txt?rev=72947&r1=72946&r2=72947&view=diff
==============================================================================
--- cfe/trunk/CMake/RunTests/CMakeLists.txt (original)
+++ cfe/trunk/CMake/RunTests/CMakeLists.txt Fri Jun 5 11:26:18 2009
@@ -6,7 +6,7 @@
# CLANG_TEST_RUNNER: The TestRunner.sh shell script, which is used to test
# Clang.
#
-# CLANG_TEST_GLOB_PATTERN: Set to a GLOB pattern to identify the kind of
+# CLANG_TEST_GLOB_PATTERNS: Set to a GLOB pattern to identify the kind of
# tests, e.g., *.cpp for C++ tests.
#
# LLVM_TOOLS_PATH: The directory where the Clang and LLVM tool
@@ -27,17 +27,24 @@
set(${var} "${test_lastpath}-${test_name}")
endmacro()
-# FIXME: Total hack!
+# FIXME: This is a hack to make sure that there is a proper "clean" target.
+# There must be a better way.
file(WRITE dummy.c "int dummy() { return 0; }")
add_library(dummy dummy.c)
+set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "dummy.c")
+# Set the path appropriately
set(PATH $ENV{PATH})
set(PATH "${LLVM_TOOLS_PATH}:${LLVM_SCRIPTS_PATH}:${PATH}")
-message(STATUS "Globbing for tests with ${CLANG_TEST_GLOB_PATTERN}")
-file(GLOB_RECURSE tests ${CLANG_TEST_GLOB_PATTERN})
+
+# Find the test files
+string(REPLACE ":" ";" CLANG_TEST_GLOB_PATTERNS ${CLANG_TEST_GLOB_PATTERNS})
+separate_arguments(CLANG_TEST_GLOB_PATTERNS)
+file(GLOB_RECURSE tests ${CLANG_TEST_GLOB_PATTERNS})
+
+# Add individual tests for each file we found.
foreach(test ${tests})
compute_test_name(testname ${test})
- message(STATUS "Adding test ${testname} with file ${test}")
add_test(${testname} ${CLANG_TEST_RUNNER} ${test})
set_tests_properties(${testname} PROPERTIES
ENVIRONMENT "PATH=${PATH}")
Modified: cfe/trunk/test/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CMakeLists.txt?rev=72947&r1=72946&r2=72947&view=diff
==============================================================================
--- cfe/trunk/test/CMakeLists.txt (original)
+++ cfe/trunk/test/CMakeLists.txt Fri Jun 5 11:26:18 2009
@@ -4,26 +4,33 @@
get_target_property(LLVM_TOOLS_PATH clang RUNTIME_OUTPUT_DIRECTORY)
-add_custom_target(clang-test COMMENT "Running Clang regression tests")
+macro(add_clang_test_suite language target)
+ set(PATTERNS)
+ foreach (extension ${ARGN})
+ set(PATTERNS "${PATTERNS}:${CMAKE_CURRENT_SOURCE_DIR}/*.${extension}")
+ endforeach()
-macro(add_clang_test_suite language target extension)
-add_custom_target(${target}
- ${CMAKE_CTEST_COMMAND}
- --build-and-test
- ${LLVM_SOURCE_DIR}/tools/clang/CMake/RunTests
- ${CMAKE_CURRENT_BINARY_DIR}/${target}
- --build-generator ${CMAKE_GENERATOR}
- --build-makeprogram ${CMAKE_MAKE_PROGRAM}
- --build-project ClangTest
- --build-target test
- --build-options
- "-DCLANG_TEST_RUNNER=${CLANG_TEST_RUNNER}"
- "-DCLANG_TEST_GLOB_PATTERN=${CMAKE_CURRENT_SOURCE_DIR}/*.${extension}"
- "-DLLVM_TOOLS_PATH=${LLVM_TOOLS_PATH}"
- "-DLLVM_SCRIPTS_PATH=${LLVM_SOURCE_DIR}/test/Scripts"
- COMMENT "Running Clang ${language} regression tests")
+ if (${language} STREQUAL "ALL")
+ set(TEST_COMMENT "Running Clang regression tests")
+ else()
+ set(TEST_COMMENT "Running Clang ${language} regression tests")
+ endif ()
- add_dependencies(clang-test ${target})
+ add_custom_target(${target}
+ ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ ${LLVM_SOURCE_DIR}/tools/clang/CMake/RunTests
+ ${CMAKE_CURRENT_BINARY_DIR}/${target}
+ --build-generator ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ --build-project ClangTest
+ --build-target test
+ --build-options
+ "-DCLANG_TEST_RUNNER=${CLANG_TEST_RUNNER}"
+ "-DCLANG_TEST_GLOB_PATTERNS=${PATTERNS}"
+ "-DLLVM_TOOLS_PATH=${LLVM_TOOLS_PATH}"
+ "-DLLVM_SCRIPTS_PATH=${LLVM_SOURCE_DIR}/test/Scripts"
+ COMMENT ${TEST_COMMENT})
endmacro(add_clang_test_suite)
add_clang_test_suite(C clang-test-c c)
@@ -31,3 +38,4 @@
add_clang_test_suite(C++ clang-test-cxx cpp)
add_clang_test_suite(Objective-C++ clang-test-objcxx mm)
add_clang_test_suite(Assembler clang-test-asm S)
+add_clang_test_suite(ALL clang-test c m cpp mm S)
\ No newline at end of file
More information about the cfe-commits
mailing list