X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/05bdf500677b6406e385802991fe48cb168859a6..234ae403478cdecaa20912b4d549bc50919ccda9:/buildtools/Cmake/AddTests.cmake diff --git a/buildtools/Cmake/AddTests.cmake b/buildtools/Cmake/AddTests.cmake index 792c96a63a..6b090ad807 100644 --- a/buildtools/Cmake/AddTests.cmake +++ b/buildtools/Cmake/AddTests.cmake @@ -4,6 +4,24 @@ if(enable_smpi) exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpicc" OUTPUT_VARIABLE "OKITOKI") exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/src/smpi/smpirun" OUTPUT_VARIABLE "OKITOKI") endif(enable_smpi) + +if(enable_memcheck) + include(FindPerl) + exec_program("valgrind --version " OUTPUT_VARIABLE "VALGRIND_VERSION") + if(VALGRIND_VERSION AND PERL_EXECUTABLE) + string(REGEX MATCH "[0-9].[0-9].[0-9]" NEW_VALGRIND_VERSION "${VALGRIND_VERSION}") + if(NEW_VALGRIND_VERSION) + exec_program("${PROJECT_DIRECTORY}/buildtools/Cmake/generate_memcheck_tests.pl ${PROJECT_DIRECTORY} ${PROJECT_DIRECTORY}/buildtools/Cmake/AddTests.cmake > ${PROJECT_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake") + else(NEW_VALGRIND_VERSION) + set(enable_memcheck false) + message("Command valgrind not found --> enable_memcheck autoset to false.") + endif(NEW_VALGRIND_VERSION) + else(VALGRIND_VERSION AND PERL_EXECUTABLE) + set(enable_memcheck false) + message(FATAL_ERROR "Command valgrind or perl not found --> enable_memcheck autoset to false.") + endif(VALGRIND_VERSION AND PERL_EXECUTABLE) +endif(enable_memcheck) + ### For code coverage ### Set some variables SET(UPDATE_TYPE "svn") @@ -13,10 +31,7 @@ SET(DROP_LOCATION "/submit.php?project=${PROJECT_NAME}") SET(DROP_SITE_CDASH TRUE) SET(TRIGGER_SITE "http://cdash.inria.fr/CDash/cgi-bin/Submit-Random-TestingResults.cgi") SET(COVERAGE_COMMAND "${GCOV_PATH}/gcov") -#SET(VALGRIND_COMMAND "${VALGRIND_PATH}/valgrind") -#SET(MEMORYCHECK_COMMAND "${VALGRIND_PATH}/valgrind") -#set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no") -set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no --valgrind ${VALGRIND_PATH}") +set(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --leak-check=full --show-reachable=yes --track-origins=yes --read-var-info=no") SET(VALGRIND_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl") SET(MEMORYCHECK_COMMAND "${PROJECT_DIRECTORY}/buildtools/Cmake/my_valgrind.pl") #If you use the --read-var-info option Memcheck will run more slowly but may give a more detailed description of any illegal address. @@ -212,9 +227,11 @@ endif(HAVE_RUBY) # END TESH TESTS +if(HAVE_MC) ADD_TEST(mc-bugged1 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged1.tesh) ADD_TEST(mc-bugged2 ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc bugged2.tesh) ADD_TEST(mc-centralized ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/mc centralized.tesh) +endif(HAVE_MC) if(HAVE_JAVA) # java examples