mariadb/scripts/run.fractal.tree.tests.cmake

142 lines
4.8 KiB
CMake
Raw Normal View History

set(CTEST_PROJECT_NAME "tokudb")
get_filename_component(CTEST_SOURCE_DIRECTORY "${CTEST_SCRIPT_DIRECTORY}/.." ABSOLUTE)
## given an executable, follows symlinks and resolves paths until it runs
## out of symlinks, then gives you the basename
macro(real_executable_name filename_input out)
set(res 0)
set(filename ${filename_input})
while(NOT(res))
execute_process(
COMMAND which ${filename}
RESULT_VARIABLE res
OUTPUT_VARIABLE full_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT(res))
execute_process(
COMMAND readlink ${full_filename}
RESULT_VARIABLE res
OUTPUT_VARIABLE link_target
OUTPUT_STRIP_TRAILING_WHITESPACE)
if(NOT(res))
execute_process(
COMMAND dirname ${full_filename}
OUTPUT_VARIABLE filepath
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(filename "${filepath}/${link_target}")
else()
set(filename ${full_filename})
endif()
else()
set(filename ${filename})
endif()
endwhile()
execute_process(
COMMAND basename ${filename}
OUTPUT_VARIABLE real_filename
OUTPUT_STRIP_TRAILING_WHITESPACE)
set(${out} ${real_filename})
endmacro(real_executable_name)
## gives you `uname ${flag}`
macro(uname flag out)
execute_process(
COMMAND uname ${flag}
OUTPUT_VARIABLE ${out}
OUTPUT_STRIP_TRAILING_WHITESPACE)
endmacro(uname)
## gather machine info
uname("-m" machine_type)
get_filename_component(branchname "${CTEST_SOURCE_DIRECTORY}" NAME)
set(ncpus 2)
execute_process(
COMMAND grep bogomips /proc/cpuinfo
COMMAND wc -l
RESULT_VARIABLE res
OUTPUT_VARIABLE proc_ncpus
OUTPUT_STRIP_TRAILING_WHITESPACE
)
if(NOT res)
set(ncpus ${proc_ncpus})
endif()
## construct BUILDNAME
set(BUILDNAME "${branchname} ${CMAKE_SYSTEM} ${machine_type}" CACHE STRING "CTest build name" FORCE)
set(CTEST_BUILD_NAME "${BUILDNAME}")
set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
site_name(CTEST_SITE)
find_program(CTEST_SVN_COMMAND NAMES svn)
find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
list(APPEND CTEST_NOTES_FILES
"${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
"${CMAKE_CURRENT_LIST_FILE}"
)
set(all_opts
-DBDBDIR=/usr/local/BerkeleyDB.5.3
-DBUILD_TESTING=ON
-DUSE_CILK=OFF
)
set(rel_opts
${all_opts}
-DCMAKE_BUILD_TYPE=Release
-DINTEL_CC=ON
-DUSE_BDB=ON
)
set(dbg_opts
${all_opts}
-DCMAKE_BUILD_TYPE=Debug
-DINTEL_CC=ON
-DUSE_BDB=ON
)
set(cov_opts
${all_opts}
-DCMAKE_BUILD_TYPE=Debug
-DINTEL_CC=OFF
-DUSE_GCOV=ON
)
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyRelease")
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
ctest_update(SOURCE ${CTEST_SOURCE_DIRECTORY})
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
OPTIONS "${rel_opts}")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
ctest_submit()
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyDebug")
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
OPTIONS "${dbg_opts}")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
ctest_memcheck(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
ctest_submit()
set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/NightlyCoverage")
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
ctest_start(Nightly ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY}
OPTIONS "${cov_opts}")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake" "${CTEST_BINARY_DIRECTORY}/CTestConfig.cmake")
configure_file("${CTEST_SOURCE_DIRECTORY}/CTestCustom.cmake" "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake")
ctest_build(BUILD ${CTEST_BINARY_DIRECTORY})
ctest_read_custom_files("${CTEST_BINARY_DIRECTORY}")
ctest_test(BUILD ${CTEST_BINARY_DIRECTORY} PARALLEL_LEVEL ${ncpus})
ctest_coverage(BUILD ${CTEST_BINARY_DIRECTORY} LABELS RUN_GCOV)
ctest_submit()