aboutsummaryrefslogtreecommitdiffhomepage
path: root/scripts
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2013-03-20 08:40:13 +0100
committerGravatar Gael Guennebaud <g.gael@free.fr>2013-03-20 08:40:13 +0100
commit9bfeeba1c51e709740b222a7f62bdb1391de8f1a (patch)
tree37f419b2cdf4a2a6b4a4f71d8dd18609b4715e3f /scripts
parent11a9091084a68689a4434a546547c30ca94efbed (diff)
Add Official/Unsupported labels to unit tests and add a ctest driver to submit subprojects to cdash
Diffstat (limited to 'scripts')
-rw-r--r--scripts/cdashtesting.cmake.in49
1 files changed, 49 insertions, 0 deletions
diff --git a/scripts/cdashtesting.cmake.in b/scripts/cdashtesting.cmake.in
new file mode 100644
index 000000000..b19634367
--- /dev/null
+++ b/scripts/cdashtesting.cmake.in
@@ -0,0 +1,49 @@
+
+set(CTEST_SOURCE_DIRECTORY "@CMAKE_SOURCE_DIR@")
+set(CTEST_BINARY_DIRECTORY "@CMAKE_BINARY_DIR@")
+set(CTEST_CMAKE_GENERATOR "@CMAKE_GENERATOR@")
+set(CTEST_BUILD_NAME "@BUILDNAME@")
+set(CTEST_SITE "@SITE@")
+
+set(MODEL Experimental)
+if(${CTEST_SCRIPT_ARG} MATCHES Nightly)
+ set(MODEL Nightly)
+elif(${CTEST_SCRIPT_ARG} MATCHES Continuous)
+ set(MODEL Continuous)
+endif()
+
+find_program(CTEST_HG_COMMAND NAMES hg)
+set(CTEST_UPDATE_COMMAND "${CTEST_HG_COMMAND}")
+
+ctest_start(${MODEL} ${CTEST_SOURCE_DIRECTORY} ${CTEST_BINARY_DIRECTORY})
+
+ctest_update(SOURCE "${CTEST_SOURCE_DIRECTORY}")
+ctest_submit(PARTS Update Notes)
+
+# to get CTEST_PROJECT_SUBPROJECTS definition:
+include("${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake")
+
+foreach(subproject ${CTEST_PROJECT_SUBPROJECTS})
+ message("")
+ message("Process ${subproject}")
+
+ set_property(GLOBAL PROPERTY SubProject ${subproject})
+ set_property(GLOBAL PROPERTY Label ${subproject})
+
+ ctest_configure(BUILD ${CTEST_BINARY_DIRECTORY} SOURCE ${CTEST_SOURCE_DIRECTORY} )
+ ctest_submit(PARTS Configure)
+
+ set(CTEST_BUILD_TARGET "Build${subproject}")
+ message("Build ${CTEST_BUILD_TARGET}")
+ ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
+ # builds target ${CTEST_BUILD_TARGET}
+ ctest_submit(PARTS Build)
+
+ ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "${subproject}" )
+ # runs only tests that have a LABELS property matching "${subproject}"
+
+ ctest_coverage(BUILD "${CTEST_BINARY_DIRECTORY}" LABELS "${subproject}" )
+
+ ctest_submit(PARTS Test)
+
+endforeach()