Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
MSG_process_sleep should intercept HostFailureException and report it accordingly
[simgrid.git] / teshsuite / msg / host_on_off_processes / host_on_off_processes.tesh
index 0e7369d..695428a 100644 (file)
@@ -1,5 +1,5 @@
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 1 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 1 --log=no_loc
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 1:
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO]   Create a process on Jupiter
 > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO]   Start daemon on Jupiter (76296000.000000)
@@ -7,15 +7,17 @@ $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platfor
 > [Jupiter:process_daemon:(2) 1.000000] [msg_test/INFO]   Execute daemon
 > [Jupiter:process_daemon:(2) 2.000000] [msg_test/INFO]   Execute daemon
 > [Tremblay:test_launcher:(1) 3.000000] [msg_test/INFO]   Turn off Jupiter
-> [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test 1 seems ok, cool !(number of Process : 1, it should be 1 (i.e. the Test one))
+> [Jupiter:process_daemon:(2) 3.000000] [msg_test/INFO]   Execute daemon
+> [Jupiter:process_daemon:(2) 3.000000] [msg_test/INFO] Host as died as expected, do nothing else
+> [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test 1 seems ok, cool !(#Processes: 1, it should be 1; #tasks: 4)
 > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO]   Test done. See you!
 > [13.000000] [msg_test/INFO] Simulation time 13
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 2 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${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, WTF ?!(number of Process : 1, it should be 1)
+> [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
@@ -23,7 +25,7 @@ $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platfor
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
 > [20.000000] [msg_test/INFO] Simulation time 20
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 3 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${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
@@ -38,36 +40,40 @@ $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platfor
 > [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
+> [Jupiter:process_sleep:(2) 100.000000] [msg_test/INFO] Host as died as expected, do nothing else
 > [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
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 4 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${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
 > [Tremblay:commRX:(2) 10.000000] [msg_test/INFO]   Start RX
 > [Jupiter:commTX:(3) 10.000000] [msg_test/INFO]   Start TX
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   number of processes: 3
 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Turn Jupiter off
-> [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 4 seems ok  (number of Process : 2, it should be 1 or 2 if RX has not been satisfied) cool, you can now turn off a node that has a process paused by a sleep call
+> [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!
-> [Tremblay:commRX:(2) 20.000000] [msg_test/INFO]   Receive message: TRANSFERT_FAILURE
+> [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
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 5 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 5 --log=no_loc
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 5 (turn off dest during a communication : Create a Process/task to make a communication between Tremblay and Jupiter and turn off Jupiter during the communication
 > [Jupiter:commRX:(2) 10.000000] [msg_test/INFO]   Start RX
 > [Tremblay:commTX:(3) 10.000000] [msg_test/INFO]   Start TX
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   number of processes: 3
 > [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, cool !(number of Process : 2, it should be 2
+> [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
 
-$ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platform.xml ${srcdir:=.}/host_on_off_processes_d.xml 6 --log=no_loc --log=msg.thresh:error --log=surf_maxmin.thresh:error
+$ ${bindir}/host_on_off_processes ${platfdir}/small_platform.xml 6 --log=no_loc
 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 6: Turn on Jupiter, assign a VM on Jupiter, launch a process inside the VM, and turn off the node
-> [0.000000] [surf_vm/INFO] Create VM(vm0)@PM(Jupiter) with 0 mounted disks
 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Start daemon on vm0 (76296000.000000)
 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Execute daemon
 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO]   Start daemon on Jupiter (76296000.000000)
@@ -83,6 +89,7 @@ $ ./host_on_off_processes ${srcdir:=.}/../../../examples/platforms/small_platfor
 > [Jupiter:process_daemonJUPI:(3) 9.000011] [msg_test/INFO]   Execute daemon
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Turn Jupiter off
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Shutdown vm0
+> [Jupiter:process_daemonJUPI:(3) 10.000000] [msg_test/INFO] Host as died as expected, do nothing else
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Destroy vm0
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO] Test 6 is also weird: when the node Jupiter is turned off once again, the VM and its daemon are not killed. However, the issue regarding the shutdown of hosted VMs can be seen a feature not a bug ;)
 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Test done. See you!