From 9936b214c00d824022624a178245a3ad5f99338d Mon Sep 17 00:00:00 2001 From: Andy Gibbs Date: Thu, 6 Dec 2012 07:59:18 +0000 Subject: [PATCH] Integrate polly test-suite into an llvm "make check-all" if built as part of the whole using cmake. llvm-svn: 169487 --- polly/test/CMakeLists.txt | 84 +++++++++++++++++++++++--------------- polly/test/lit.site.cfg.in | 1 - 2 files changed, 50 insertions(+), 35 deletions(-) diff --git a/polly/test/CMakeLists.txt b/polly/test/CMakeLists.txt index 24ccab02a878..7435370863a2 100644 --- a/polly/test/CMakeLists.txt +++ b/polly/test/CMakeLists.txt @@ -14,6 +14,7 @@ set(POLLY_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/..") set(LLVM_SHLIBEXT "${CMAKE_SHARED_MODULE_SUFFIX}") if (NOT DEFINED LLVM_MAIN_SRC_DIR) + # We are building polly out of tree, adjust the settings. # FIXME: FileCheck is not available in llvm install directory at the moment. set(LLVM_LIT ${LLVM_INSTALL_ROOT}/bin/llvm-lit) @@ -23,50 +24,65 @@ if (NOT DEFINED LLVM_MAIN_SRC_DIR) set(LLVM_TOOLS_DIR "${LLVM_INSTALL_ROOT}/bin") set(LLVM_LIBS_DIR "${LLVM_INSTALL_ROOT}/lib") set(POLLY_LIB_DIR "${POLLY_BINARY_DIR}/lib") + + include(FindPythonInterp) + if(PYTHONINTERP_FOUND) + option(POLLY_TEST_DISABLE_BAR "Run Polly tests with --no-progress-bar" OFF) + set(POLLY_TEST_EXTRA_ARGS) + if (MSVC OR XCODE OR POLLY_TEST_DISABLE_BAR) + set(POLLY_TEST_EXTRA_ARGS "--no-progress-bar") + endif() + + option(POLLY_TEST_USE_VG "Run Polly tests under Valgrind" OFF) + if(POLLY_TEST_USE_VG) + set(POLLY_TEST_EXTRA_ARGS ${POLLY_TEST_EXTRA_ARGS} "--vg") + endif () + + foreach(testdir ${POLLY_TEST_DIRECTORIES}) + add_custom_target(polly-test-${testdir} + COMMAND ${LLVM_LIT} + --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg + --param build_config=${CMAKE_CFG_INTDIR} + -sv ${POLLY_TEST_EXTRA_ARGS} + ${CMAKE_CURRENT_BINARY_DIR}/${testdir} + DEPENDS ${POLLY_TEST_DEPS} + COMMENT "Running Polly regression tests in ${testdir}") + endforeach() + + add_custom_target(check-polly + COMMAND ${LLVM_LIT} + --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg + --param build_config=${CMAKE_CFG_INTDIR} + -sv ${POLLY_TEST_EXTRA_ARGS} + ${CMAKE_CURRENT_BINARY_DIR} + DEPENDS ${POLLY_TEST_DEPS} + COMMENT "Running Polly regression tests") + endif() + else (NOT DEFINED LLVM_MAIN_SRC_DIR) + set(LLVM_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit) set(POLLY_TEST_DEPS opt lli LLVMPolly FileCheck not) set(LLVM_BINARY_DIR "${LLVM_BINARY_DIR}") - set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}/") + set(LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}") set(LLVM_LIBS_DIR "${LLVM_BINARY_DIR}/lib") set(POLLY_LIB_DIR "${LLVM_LIBS_DIR}") + + add_lit_testsuite(check-polly "Running polly regression tests" + ${CMAKE_CURRENT_BINARY_DIR} + PARAMS polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg + DEPENDS ${POLLY_TEST_DEPS} + ) + + set_target_properties(check-polly PROPERTIES FOLDER "polly tests") + endif (NOT DEFINED LLVM_MAIN_SRC_DIR) configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/lit.site.cfg.in ${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg) -include(FindPythonInterp) -if(PYTHONINTERP_FOUND) - option(POLLY_TEST_DISABLE_BAR "Run Polly tests with --no-progress-bar" OFF) - set(POLLY_TEST_EXTRA_ARGS) - if (MSVC OR XCODE OR POLLY_TEST_DISABLE_BAR) - set(POLLY_TEST_EXTRA_ARGS "--no-progress-bar") - endif() - - option(POLLY_TEST_USE_VG "Run Polly tests under Valgrind" OFF) - if(POLLY_TEST_USE_VG) - set(POLLY_TEST_EXTRA_ARGS ${POLLY_TEST_EXTRA_ARGS} "--vg") - endif () - - foreach(testdir ${POLLY_TEST_DIRECTORIES}) - add_custom_target(polly-test-${testdir} - COMMAND ${LLVM_LIT} - --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg - --param build_config=${CMAKE_CFG_INTDIR} - -sv ${POLLY_TEST_EXTRA_ARGS} - ${CMAKE_CURRENT_BINARY_DIR}/${testdir} - DEPENDS ${POLLY_TEST_DEPS} - COMMENT "Running Polly regression tests in ${testdir}") - endforeach() - - add_custom_target(polly-test - COMMAND ${LLVM_LIT} - --param polly_site_config=${CMAKE_CURRENT_BINARY_DIR}/lit.site.cfg - --param build_config=${CMAKE_CFG_INTDIR} - -sv ${POLLY_TEST_EXTRA_ARGS} - ${CMAKE_CURRENT_BINARY_DIR} - DEPENDS ${POLLY_TEST_DEPS} - COMMENT "Running Polly regression tests") -endif() +# Add a legacy target spelling: polly-test +add_custom_target(polly-test) +add_dependencies(polly-test check-polly) diff --git a/polly/test/lit.site.cfg.in b/polly/test/lit.site.cfg.in index afda0cc122e4..43fadac19ce3 100644 --- a/polly/test/lit.site.cfg.in +++ b/polly/test/lit.site.cfg.in @@ -9,7 +9,6 @@ config.polly_lib_dir = "@POLLY_LIB_DIR@" config.target_triple = "@TARGET_TRIPLE@" config.enable_gpgpu_codegen = "@CUDALIB_FOUND@" config.cloog_found = "@CLOOG_FOUND@" -lit.params['build_config'] = "@POLLY_SOURCE_DIR@/test" ## Check the current platform with regex import re