Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
reactivate broken tests
authorFrederic Suter <frederic.suter@cc.in2p3.fr>
Fri, 3 Aug 2018 21:29:17 +0000 (23:29 +0200)
committerFrederic Suter <frederic.suter@cc.in2p3.fr>
Sun, 5 Aug 2018 18:54:59 +0000 (20:54 +0200)
examples/s4u/CMakeLists.txt
teshsuite/s4u/CMakeLists.txt
teshsuite/s4u/actor-autorestart/actor-autorestart.cpp

index 7d21680..0206206 100644 (file)
@@ -91,7 +91,7 @@ foreach(example actor-create actor-daemon actor-join actor-kill
                 energy-exec energy-boot energy-link energy-vm
                 engine-filtering
                 exec-async exec-basic exec-dvfs exec-monitor exec-ptask exec-remote
-                platform-properties plugin-hostload mutex
+                platform-failures platform-properties plugin-hostload mutex
                 io-file-system io-file-remote io-storage-raw
                 replay-comm replay-storage
                 routing-get-clusters
index f541016..a0eb9f6 100644 (file)
@@ -11,7 +11,7 @@ endforeach()
 
 ## Add the tests.
 ## Some need to be run with all factories, some need not tesh to run
-foreach(x actor actor-migration cloud-interrupt-migration concurrent_rw) # TODO: actor-autorestart is disabled for now
+foreach(x actor actor-autorestart actor-migration cloud-interrupt-migration concurrent_rw) # TODO: actor-autorestart is disabled for now
   set(tesh_files    ${tesh_files}    ${CMAKE_CURRENT_SOURCE_DIR}/${x}/${x}.tesh)
   ADD_TESH_FACTORIES(tesh-s4u-${x} "thread;ucontext;raw;boost" --setenv srcdir=${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x} --setenv platfdir=${CMAKE_HOME_DIRECTORY}/examples/platforms --cd ${CMAKE_BINARY_DIR}/teshsuite/s4u/${x} ${CMAKE_HOME_DIRECTORY}/teshsuite/s4u/${x}/${x}.tesh)
 endforeach()
index bb2d964..b4718e2 100644 (file)
@@ -4,14 +4,24 @@
  * under the terms of the license (GNU LGPL) which comes with this package. */
 
 #include "simgrid/s4u.hpp"
+#include <xbt/ex.hpp>
 
 XBT_LOG_NEW_DEFAULT_CATEGORY(s4u_test, "Messages specific for this s4u example");
 
 static void dummy()
 {
   XBT_INFO("I start");
-  simgrid::s4u::this_actor::sleep_for(200);
-  XBT_INFO("I stop");
+  try {
+    simgrid::s4u::this_actor::sleep_for(200);
+  } catch (xbt_ex& e) {
+    if (e.category == host_error) {
+      XBT_INFO("The host has died ... as expected.");
+      XBT_INFO("I stop");
+    } else {
+      XBT_ERROR("An unexpected exception has been raised.");
+      throw;
+    }
+  }
 }
 
 static void autostart()