set(_maestro-set_disable 1)
endif()
-foreach (example mc-bugged1 mc-bugged2 mc-failing-assert mc-electric-fence)
+set(MC_regular_tests mc-bugged1 mc-bugged2 mc-failing-assert mc-electric-fence)
+foreach (example ${MC_regular_tests})
if(NOT SIMGRID_HAVE_MC)
set(_${example}_disable 1)
endif()
add_executable (s4u-mc-bugged1-liveness EXCLUDE_FROM_ALL mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
target_link_libraries(s4u-mc-bugged1-liveness simgrid)
set_target_properties(s4u-mc-bugged1-liveness PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness)
- add_dependencies(tests s4u-mc-bugged1-liveness)
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness)
if(HAVE_C_STACK_CLEANER)
add_executable (s4u-mc-bugged1-liveness-cleaner-on EXCLUDE_FROM_ALL s4u-mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
target_link_libraries(s4u-mc-bugged1-liveness-cleaner-on simgrid)
set_target_properties(s4u-mc-bugged1-liveness-cleaner-on PROPERTIES COMPILE_FLAGS "-DGARBAGE_STACK -fstack-cleaner")
- add_dependencies(tests s4u-mc-bugged1-liveness-cleaner-on)
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness-cleaner-on)
add_executable (s4u-mc-bugged1-liveness-cleaner-off EXCLUDE_FROM_ALL s4u-mc-bugged1-liveness/s4u-mc-bugged1-liveness.cpp)
target_link_libraries(s4u-mc-bugged1-liveness-cleaner-off simgrid)
set_target_properties(s4u-mc-bugged1-liveness-cleaner-off PROPERTIES COMPILE_FLAGS "-DGARBAGE_STACK -fno-stack-cleaner")
- add_dependencies(tests s4u-mc-bugged1-liveness-cleaner-off)
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness-cleaner-off)
endif()
endif()
endforeach()
set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/app-masterworkers/s4u-app-masterworkers.tesh)
-# Model-checking liveness
+# Model-checking
if(SIMGRID_HAVE_MC)
+ foreach (example ${MC_regular_tests})
+ if(NOT DEFINED _${example}_disable)
+ add_dependencies(tests-mc s4u-${example})
+ endif()
+ endforeach()
+
+ # Model-checking liveness
IF(HAVE_UCONTEXT_CONTEXTS AND SIMGRID_PROCESSOR_x86_64) # liveness model-checking works only on 64bits (for now ...)
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness)
ADD_TESH(s4u-mc-bugged1-liveness-ucontext --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness
--setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
--cd ${CMAKE_CURRENT_SOURCE_DIR}/mc-bugged1-liveness
# --cd ${CMAKE_CURRENT_SOURCE_DIR}/mc-bugged1-liveness
# ${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/s4u-mc-bugged1-liveness-visited.tesh)
IF(HAVE_C_STACK_CLEANER)
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness-stack-cleaner)
# This test checks if the stack cleaner is making a difference:
ADD_TEST(s4u-mc-bugged1-liveness-stack-cleaner ${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/s4u-mc-bugged1-liveness-stack-cleaner
${CMAKE_HOME_DIRECTORY}/examples/cpp/mc-bugged1-liveness/
if(enable_smpi)
# MC is currently broken with threads (deadlock => timeout)
if(SIMGRID_HAVE_MC)
+ add_dependencies(tests-mc smpimain)
+ add_dependencies(tests-mc smpi_only_send_deterministic)
ADD_TESH(smpi-mc-only-send-determinism --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/mc --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/examples/smpi/mc ${CMAKE_HOME_DIRECTORY}/examples/smpi/mc/only_send_deterministic.tesh)
+ add_dependencies(tests-mc smpi_sendsend)
ADD_TESH_FACTORIES(smpi-mc-sendsend "^thread" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/examples/smpi/mc --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/examples/smpi/mc ${CMAKE_HOME_DIRECTORY}/examples/smpi/mc/sendsend.tesh)
endif()
target_link_libraries(${x} simgrid)
set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
set_property(TARGET ${x} APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")
- add_dependencies(tests ${x})
+ add_dependencies(tests-mc ${x})
endif()
set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
target_link_libraries(${x} simgrid)
set_target_properties(${x} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${x})
set_property(TARGET ${x} APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")
- add_dependencies(tests ${x})
+ add_dependencies(tests-mc ${x})
set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
set(teshsuite_src ${teshsuite_src} ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.cpp)
target_link_libraries(without-mutex-handling simgrid)
set_target_properties(without-mutex-handling PROPERTIES COMPILE_FLAGS -DDISABLE_THE_MUTEX=1)
set_target_properties(without-mutex-handling PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/mutex-handling)
-add_dependencies(tests without-mutex-handling)
+add_dependencies(tests-mc without-mutex-handling)
set(teshsuite_src ${teshsuite_src} PARENT_SCOPE)
set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/random-bug/random-bug-nocrash.tesh
foreach (test ${umpire_tests_passing} ${umpire_tests_deadlock} ${umpire_tests_problematic} )
add_executable(${test} EXCLUDE_FROM_ALL ${test}.c)
- add_dependencies(tests ${test})
+ add_dependencies(tests-mc ${test})
target_link_libraries(${test} simgrid)
set_source_files_properties(${test}.c PROPERTIES COMPILE_FLAGS "-Dlint -Wno-error -Wno-return-type")
set(umpire_tesh ${umpire_tesh} ${test})
add_dependencies(simgrid maintainer_files)
if(enable_model-checking)
+ add_custom_target(tests-mc COMMENT "Recompiling the MC tests and tools.")
+ add_dependencies(tests tests-mc)
+
add_executable(simgrid-mc ${MC_SIMGRID_MC_SRC})
target_link_libraries(simgrid-mc simgrid)
set_target_properties(simgrid-mc
APPEND PROPERTY INCLUDE_DIRECTORIES "${INTERNAL_INCLUDES}")
install(TARGETS simgrid-mc # install that binary without breaking the rpath on Mac
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}/)
- add_dependencies(tests simgrid-mc)
+ add_dependencies(tests-mc simgrid-mc)
endif()