Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Cosmetics.
[simgrid.git] / buildtools / Cmake / AddTests.cmake
index 792c96a..c506012 100644 (file)
@@ -1,9 +1,27 @@
 ### Be sure we can execut some launch file
 exec_program("chmod a=rwx ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh" OUTPUT_VARIABLE "OKITOKI")
 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")
+       exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc" OUTPUT_VARIABLE "OKITOKI")
+       exec_program("chmod a=rwx ${CMAKE_BINARY_DIR}/bin/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,23 +31,11 @@ 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.
 
-### Check 32bits or 64bits
-INCLUDE (CheckTypeSize)
-CHECK_TYPE_SIZE("long" SIZEOF_LONG)
-IF(SIZEOF_LONG EQUAL 4)
-  SET(ARCH_32_BITS 1)
-ELSE(SIZEOF_LONG EQUAL 4)
-  SET(ARCH_32_BITS 0)
-ENDIF(SIZEOF_LONG EQUAL 4)
-
 INCLUDE(CTest)
 ENABLE_TESTING()
 
@@ -132,6 +138,7 @@ ADD_TEST(msg-priority               ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/ex
 ADD_TEST(msg-properties                ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg properties/msg_prop.tesh)
 ADD_TEST(msg-trace             ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg trace/trace.tesh)
 ADD_TEST(msg-masterslave_cpu_ti        ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg masterslave/masterslave_cpu_ti.tesh)
+ADD_TEST(msg_icomms ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg/icomms peer.tesh)
 
 IF(HAVE_TRACING)
   ADD_TEST(tracing-ms ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/msg tracing/ms.tesh)
@@ -180,8 +187,10 @@ ENDIF(${ARCH_32_BITS})
 # simdag examples
 ADD_TEST(simdag-test_simdag    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag.tesh)
 ADD_TEST(simdag-test_simdag2   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag2.tesh)
+ADD_TEST(simdag-test_simdag_seq_access ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag test_simdag_seq_access.tesh)
 ADD_TEST(simdag-test_prop      ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag properties/test_prop.tesh)
 ADD_TEST(simdag-metaxml_test   ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag metaxml/metaxml_test.tesh)
+ADD_TEST(simdag-minmin_test    ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/simdag/scheduling test_minmin.tesh)
 
 if(enable_smpi)
 # smpi examples
@@ -199,8 +208,9 @@ endif(HAVE_GTNETS)
 
 # Lua examples
 if(HAVE_LUA)
-ADD_TEST(lua-masterslave       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua master_slave.tesh)
-ADD_TEST(lua-mult_matrix       ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua mult_matrix.tesh)
+ADD_TEST(lua-masterslave               ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua master_slave.tesh)
+ADD_TEST(lua-mult_matrix               ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua mult_matrix.tesh)
+ADD_TEST(lua-masterslave_bypass ${CMAKE_BINARY_DIR}/bin/tesh --cd ${PROJECT_DIRECTORY}/examples/lua master_slave_bypass.tesh)
 endif(HAVE_LUA)
 
 # Ruby examples
@@ -212,16 +222,18 @@ 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
-ADD_TEST(java-basic    ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/basic BasicTest ${PROJECT_DIRECTORY})
-ADD_TEST(java-pingpong         ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/ping_pong PingPongTest ${PROJECT_DIRECTORY})
-ADD_TEST(java-comm_time ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/comm_time CommTimeTest ${PROJECT_DIRECTORY})
-ADD_TEST(java-suspend  ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/suspend SuspendTest ${PROJECT_DIRECTORY})
+ADD_TEST(java-basic    ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/basic BasicTest ${CMAKE_BINARY_DIR})
+ADD_TEST(java-pingpong         ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/ping_pong PingPongTest ${CMAKE_BINARY_DIR})
+ADD_TEST(java-comm_time ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/comm_time CommTimeTest ${CMAKE_BINARY_DIR})
+ADD_TEST(java-suspend  ${PROJECT_DIRECTORY}/buildtools/Cmake/test_java.sh ${PROJECT_DIRECTORY}/examples/java/suspend SuspendTest ${CMAKE_BINARY_DIR})
 endif(HAVE_JAVA)
 
 ###
@@ -260,6 +272,6 @@ add_test(test-simdag-1 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:
 add_test(test-simdag-2 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag ${PROJECT_DIRECTORY}/examples/msg/small_platform.xml)
 add_test(test-simdag-3 ${PROJECT_DIRECTORY}/testsuite/simdag/sd_test --cfg=path:${PROJECT_DIRECTORY}/testsuite/simdag ${PROJECT_DIRECTORY}/examples/msg/msg_platform.xml)
 
-add_test(testall               ${CMAKE_BUILD_DIR}/src/testall)
+add_test(testall               ${PROJECT_DIRECTORY}/src/testall)
 
 include(${PROJECT_DIRECTORY}/buildtools/Cmake/memcheck_tests.cmake)