+
+ # Model-checking liveness
+ if(HAVE_UCONTEXT_CONTEXTS AND SIMGRID_PROCESSOR_x86_64)
+ # liveness model-checking works only on 64bits (for now ...)
+ set(_mc-bugged1-liveness_factories "ucontext") # Timeout
+ add_dependencies(tests-mc s4u-mc-bugged1-liveness)
+ set(_mc-bugged2-liveness_factories "ucontext") # Timeout
+ else()
+ set(_mc-bugged1-liveness_disable 1)
+ endif()
+
+ # This example never ends, disable it for now
+ set(_mc-bugged2-liveness_disable 1)
+
+ # This example hit the 5' timeout on CI, disable it for now
+ # ADD_TESH(s4u-mc-bugged1-liveness-visited-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
+ # ${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/
+ ${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness/)
+ ENDIF()
+
+ if(enable_coverage)
+ foreach (example mc-bugged1 mc-bugged2 mc-electric-fence mc-failing-assert)
+ ADD_TEST(cover-${example} ${CMAKE_CURRENT_BINARY_DIR}/${example}/s4u-${example} ${CMAKE_HOME_DIRECTORY}/examples/platforms/model_checker_platform.xml)
+ endforeach()
+ ADD_TEST(cover-mc-bugged1-liveness ${CMAKE_CURRENT_BINARY_DIR}/mc-bugged1-liveness/s4u-mc-bugged1-liveness ${CMAKE_HOME_DIRECTORY}/examples/platforms/small_platform.xml 1 1001)
+ endif()
+
+else()
+ foreach (example mc-bugged1 mc-bugged2 mc-centralized-mutex mc-failing-assert mc-electric-fence
+ mc-bugged1-liveness mc-bugged2-liveness)
+ set(_${example}_disable 1)
+ endforeach()
+endif()
+
+# Hijack some regular tests to run them on top of the MC
+foreach (example synchro-barrier synchro-mutex synchro-semaphore)
+ set(tesh_files ${tesh_files} ${CMAKE_CURRENT_SOURCE_DIR}/${example}/s4u-mc-${example}.tesh)
+
+ if (SIMGRID_HAVE_MC)
+ ADD_TESH(s4u-mc-${example}
+ --setenv bindir=${CMAKE_CURRENT_BINARY_DIR}/${example}
+ --setenv libdir=${CMAKE_BINARY_DIR}/lib
+ --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms
+ --setenv srcdir=${CMAKE_CURRENT_SOURCE_DIR}/${example}
+ --cd ${CMAKE_CURRENT_SOURCE_DIR}/${example}
+ ${CMAKE_HOME_DIRECTORY}/examples/cpp/${example}/s4u-mc-${example}.tesh)
+ endif()
+endforeach()
+
+
+if(NOT HAVE_GRAPHVIZ)
+ set(_dag-from-dot_disable 1)