diff --git a/utils/nightly/gmsh.ctest b/utils/nightly/gmsh.ctest index 8d40edc46ab128cd6b3ad8ef28747627a3262f88..4f84b036b7dd0c6894242939cfdf45e806d31ba6 100644 --- a/utils/nightly/gmsh.ctest +++ b/utils/nightly/gmsh.ctest @@ -8,15 +8,19 @@ set(CTEST_SITE "ace36.montefiore") -set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/src/gmsh") -set(CTEST_BUILD_CONFIGURATION "RelWithDebInfo") - -set(CTEST_SVN_REPOS https://geuz.org/svn/gmsh/trunk) - find_program(CTEST_SVN_COMMAND NAMES svn) find_program(CTEST_COVERAGE_COMMAND NAMES gcov) find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind) +if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) + set(CTEST_BUILD_CONFIGURATION "Debug") +else(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) + set(CTEST_BUILD_CONFIGURATION "RelWithDebInfo") +endif(NOT CTEST_BUILD_CONFIGURATION) + +set(CTEST_SOURCE_DIRECTORY "$ENV{HOME}/src/gmsh") +set(CTEST_SVN_REPOS https://geuz.org/svn/gmsh/trunk) + if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}") set(CTEST_CHECKOUT_COMMAND "${CTEST_SVN_COMMAND} co ${CTEST_SVN_REPOS} ${CTEST_SOURCE_DIRECTORY}") @@ -30,15 +34,21 @@ set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_BUILD_OPTIONS}") if(CTEST_BUILD_OPTIONS_QUOTED) set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_BUILD_OPTIONS_QUOTED}\"") endif(CTEST_BUILD_OPTIONS_QUOTED) +if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) + set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} -DCMAKE_CXX_FLAGS:STRING=\"-g -O0 -fprofile-arcs -ftest-coverage\"") + set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} -DCMAKE_C_FLAGS:STRING=\"-g -O0 -fprofile-arcs -ftest-coverage\"") +endif(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_SOURCE_DIRECTORY}\"") # make sure everybody outputs messages in english set($ENV{LC_MESSAGES} "en_US") # select Experimental dashboard if none is selected -if(NOT CDASH_MODEL) +if(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) + set(CDASH_MODEL "Coverage") +else if(NOT CDASH_MODEL) set(CDASH_MODEL "Experimental") -endif(NOT CDASH_MODEL) +endif(WITH_COVERAGE AND CTEST_COVERAGE_COMMAND) ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY}) ctest_start(${CDASH_MODEL}) diff --git a/utils/nightly/gmsh_linux64_coverage.ctest b/utils/nightly/gmsh_linux64_coverage.ctest new file mode 100644 index 0000000000000000000000000000000000000000..1c7d1fb7b835a81c70b9f36eedd4ed8d6655cb4f --- /dev/null +++ b/utils/nightly/gmsh_linux64_coverage.ctest @@ -0,0 +1,25 @@ +# Gmsh - Copyright (C) 1997-2014 C. Geuzaine, J.-F. Remacle +# +# See the LICENSE.txt file for license information. Please report all +# bugs and problems to the public mailing list <gmsh@geuz.org>. + +set(CTEST_CMAKE_COMMAND "/usr/bin/cmake") +set(CTEST_BINARY_DIRECTORY "$ENV{HOME}/src/gmsh/bin") +set(CTEST_CMAKE_GENERATOR "Unix Makefiles") + +set(WEB_BIN "geuzaine@geuz.org:/home/www/geuz.org/gmsh/bin/Linux") + +set(WITH_TEST TRUE) # run the tests? +set(WITH_COVERAGE TRUE) # check code coverage? +set(WITH_MEMCHECK FALSE) # check memory with valgrind? + +################################################################################# +set(CTEST_BUILD_NAME "Linux64-Coverage") +set(OPT "-DGMSH_EXTRA_VERSION=${EXTRA_VERSION}") +set(OPT "${OPT} -DCMAKE_PREFIX_PATH:path=/usr/local/opencascade;/usr/local") +set(OPT "${OPT} -DENABLE_NATIVE_FILE_CHOOSER:bool=FALSE") +set(OPT "${OPT} -DPETSC_ARCH=linux_complex_mumps_seq") +set(OPT "${OPT} -DPETSC_DIR=$ENV{HOME}/src/petsc-3.1-p8") +set(OPT "${OPT} -DSLEPC_DIR=$ENV{HOME}/src/slepc-3.1-p4") +set(CTEST_BUILD_OPTIONS ${OPT}) +include(gmsh.ctest) diff --git a/utils/nightly/gmsh_linux64_nightly.cron b/utils/nightly/gmsh_linux64_nightly.cron index 1f094f630273784f8dd93846e8ddcb7bb1122d3c..afc0a9c09c960737437dc073e4ce205104ae1685 100644 --- a/utils/nightly/gmsh_linux64_nightly.cron +++ b/utils/nightly/gmsh_linux64_nightly.cron @@ -3,3 +3,4 @@ # 1 1 * * * cd ${HOME}/src/gmsh/utils/nightly && /usr/bin/ctest -S gmsh_linux64_nightly.ctest -VV > ${HOME}/src/gmsh/nightly.log 2>&1 1 2 * * * cd ${HOME}/src/gmsh/utils/nightly && /usr/bin/ctest -S gmsh_linux64_dynamic_nightly.ctest -VV > ${HOME}/src/gmsh/nightly_dynamic.log 2>&1 +1 3 * * * cd ${HOME}/src/gmsh/utils/nightly && /usr/bin/ctest -S gmsh_linux64_coverage.ctest -VV > ${HOME}/src/gmsh/nightly_coverage.log 2>&1