Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Don't give actors a chance to survive their exec if their host is turned off
[simgrid.git] / teshsuite / msg / host_on_off_processes / host_on_off_processes.tesh
index ba402ab..1156e2d 100644 (file)
@@ -12,36 +12,12 @@ $ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 1 --log=no_loc
 > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO]   Test done. See you!
 > [13.000000] [msg_test/INFO] Simulation time 13
 
+! expect signal SIGIOT
 $ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 2 --log=no_loc
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 2:
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO]   Turn off Jupiter
-> [0.000000] [simix_process/WARNING] Cannot launch process 'process_daemon' on failed host 'Jupiter'
-> [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Test 2 does not crash as it should (number of Process : 1, it should be 1)
-> [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Ok so let's turn on/off the node to see whether the process is correctly bound to Jupiter
-> [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Turn off
-> [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   sleep
-> [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] number of Process : 1 it should be 1. The daemon that has been created for test2 has been correctly destroyed....ok at least it looks rigorous, cool ! You just have to disallow the possibility to create a new process on a node when the node is off.)
-> [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
-> [20.000000] [msg_test/INFO] Simulation time 20
-
-$ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 3 --log=no_loc
-> [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 3:
-> [Jupiter:process_sleep:(2) 0.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 10.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 20.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 30.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 40.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 50.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 60.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 70.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 80.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Jupiter:process_sleep:(2) 90.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO]   Turn off
-> [Jupiter:process_sleep:(2) 100.000000] [msg_test/INFO]   I'm alive but I should sleep
-> [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO]   sleep for 10 seconds
-> [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] number of Process : 1 it should be 1 (i.e. the Test one))
-> [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO]   Test done. See you!
-> [10100.000000] [msg_test/INFO] Simulation time 10100
+> [0.000000] [simix_process/WARNING] Cannot launch actor 'process_daemon' on failed host 'Jupiter'
+> [Tremblay:test_launcher:(1) 0.000000] [xbt/CRITICAL] Could not create a new process on failed host Jupiter.
 
 $ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 4 --log=no_loc
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 4 (turn off src during a communication) : Create a Process/task to make a communication between Jupiter and Tremblay and turn off Jupiter during the communication
@@ -51,8 +27,6 @@ $ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 4 --log=no_loc
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Turn Jupiter off
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 4 is ok.  (number of Process : 2, it should be 1 or 2 if RX has not been satisfied). An exception is raised when we turn off a node that has a process sleeping
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
-> [Jupiter:commTX:(3) 20.000000] [msg_test/INFO] The host has died ... as expected.
-> [Jupiter:commTX:(3) 20.000000] [msg_test/INFO]   TX done
 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO]   Receive message: TRANSFER_FAILURE
 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO]   RX Done
 > [20.000000] [msg_test/INFO] Simulation time 20
@@ -65,6 +39,8 @@ $ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 5 --log=no_loc
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Turn Jupiter off
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 5 seems ok (number of Process: 2, it should be 2)
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
+> [Jupiter:commRX:(2) 20.000000] [msg_test/INFO]   Receive message: HOST_FAILURE
+> [Jupiter:commRX:(2) 20.000000] [msg_test/INFO]   RX Done
 > [Tremblay:commTX:(3) 40.000000] [msg_test/INFO]   TX done
 > [40.000000] [msg_test/INFO] Simulation time 40