Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
It is now possible to read/write the RNG state in a file.
[simgrid.git] / tools / cmake / Tests.cmake
index 30b8665..3dd8793 100644 (file)
@@ -1,14 +1,11 @@
-IF(enable_smpi AND NOT WIN32)
-  execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicc)
-  execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpicxx)
-  execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpiff)
-  execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpif90)
-  execute_process(COMMAND chmod a=rwx ${CMAKE_BINARY_DIR}/bin/smpirun)
-ENDIF()
-
 SET(TESH_OPTION "--ignore-jenkins")
 SET(TESH_COMMAND "${PYTHON_EXECUTABLE}" ${CMAKE_BINARY_DIR}/bin/tesh)
 
+SET(TESH_LIBRARY_PATH "${CMAKE_BINARY_DIR}/lib")
+if(NOT $ENV{LD_LIBRARY_PATH} STREQUAL "")
+  SET(TESH_LIBRARY_PATH "${TESH_LIBRARY_PATH}:$ENV{LD_LIBRARY_PATH}")
+endif()
+
 IF(enable_memcheck)
   INCLUDE(FindValgrind)
 
@@ -60,12 +57,18 @@ MACRO(ADD_TESH_FACTORIES NAME FACTORIES)
     LIST(REMOVE_AT ARGR 0)
   ENDFOREACH()
   FOREACH(FACTORY ${FACTORIES})
-    if ((${FACTORY} STREQUAL "thread" ) OR # Always available, thanks to C++11 threads
+    if ((${FACTORY} STREQUAL "thread" ) OR # Always available, thanks to C++11 threads
         (${FACTORY} STREQUAL "boost" AND HAVE_BOOST_CONTEXTS) OR
         (${FACTORY} STREQUAL "raw" AND HAVE_RAW_CONTEXTS) OR
         (${FACTORY} STREQUAL "ucontext" AND HAVE_UCONTEXT_CONTEXTS))
       ADD_TESH("${NAME}-${FACTORY}" "--cfg" "contexts/factory:${FACTORY}" ${ARGR})
-    ENDIF()
+    endif()
+    if ((NOT ${FACTORY} STREQUAL "thread") AND 
+        (NOT ${FACTORY} STREQUAL "boost") AND
+       (NOT ${FACTORY} STREQUAL "raw") AND
+       (NOT ${FACTORY} STREQUAL "ucontext"))
+       message(FATAL_ERROR "Cannot add a tesh for an unknown factory: ${FACTORY}")
+    endif()
   ENDFOREACH()
 ENDMACRO()
 
@@ -76,7 +79,7 @@ MACRO(SET_TESH_PROPERTIES NAME FACTORIES)
     LIST(REMOVE_AT ARGR 0)
   ENDFOREACH()
   FOREACH(FACTORY ${FACTORIES})
-    if ((${FACTORY} STREQUAL "thread" ) OR # Always available, thanks to C++11 threads
+    if ((${FACTORY} STREQUAL "thread" ) OR # Always available, thanks to C++11 threads
         (${FACTORY} STREQUAL "boost" AND HAVE_BOOST_CONTEXTS) OR
         (${FACTORY} STREQUAL "raw" AND HAVE_RAW_CONTEXTS) OR
         (${FACTORY} STREQUAL "ucontext" AND HAVE_UCONTEXT_CONTEXTS))
@@ -100,15 +103,17 @@ set(UNIT_TESTS  src/xbt/unit-tests_main.cpp
                 src/xbt/config_test.cpp
                 src/xbt/dict_test.cpp
                 src/xbt/dynar_test.cpp
+               src/xbt/random_test.cpp
                 src/xbt/xbt_str_test.cpp
-                teshsuite/surf/lmm_usage/lmm_solve.cpp)
+               src/kernel/lmm/maxmin_test.cpp)
 if (SIMGRID_HAVE_MC)
   set(UNIT_TESTS ${UNIT_TESTS} src/mc/sosp/Snapshot_test.cpp src/mc/sosp/PageStore_test.cpp)
 else()
   set(EXTRA_DIST ${EXTRA_DIST} src/mc/sosp/Snapshot_test.cpp src/mc/sosp/PageStore_test.cpp)
 endif()  
 
-add_executable       (unit-tests ${UNIT_TESTS})
+add_executable       (unit-tests EXCLUDE_FROM_ALL ${UNIT_TESTS})
+add_dependencies     (tests unit-tests)
 target_link_libraries(unit-tests simgrid)
 ADD_TEST(unit-tests ${CMAKE_BINARY_DIR}/unit-tests)
 set_property(TARGET unit-tests APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")