summaryrefslogtreecommitdiffstats
path: root/storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake')
-rw-r--r--storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake135
1 files changed, 135 insertions, 0 deletions
diff --git a/storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake b/storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake
new file mode 100644
index 00000000..64d52a56
--- /dev/null
+++ b/storage/tokudb/PerconaFT/scripts/run.fractal.tree.tests.cmake
@@ -0,0 +1,135 @@
+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
+ -DBUILD_TESTING=ON
+ -DUSE_CILK=OFF
+ )
+set(rel_opts
+ ${all_opts}
+ -DCMAKE_BUILD_TYPE=Release
+ )
+set(dbg_opts
+ ${all_opts}
+ -DCMAKE_BUILD_TYPE=Debug
+ )
+set(cov_opts
+ ${all_opts}
+ -DCMAKE_BUILD_TYPE=Debug
+ -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()