X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c57842fe897f53b46f0be3da87f7c996674be7d6..7b3c12683fccac3a1d8e05e41e055d30eafd963d:/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh diff --git a/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh b/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh index c448cf441b..8a8b2128b0 100644 --- a/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh +++ b/teshsuite/msg/host_on_off_processes/host_on_off_processes.tesh @@ -1,30 +1,73 @@ -$ ./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 -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Test 1: -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Create a process on Jupiter -> [Jupiter:daemon:(2) 0.000000] [msg_test/INFO] Execute deamon -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Turn off Jupiter -> [Tremblay:test:(1) 10.000000] [msg_test/INFO] Test 1 seems ok, cool !(number of Process : 1, it should be 1 (i.e. the Test one)) -> [10.000000] [msg_test/INFO] Simulation time 10 +$ ${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) +> [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO] Execute daemon +> [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 +> [Jupiter:process_daemon:(2) 3.000000] [msg_test/INFO] Execute daemon +> [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO] Test 1 seems ok, cool !(#Processes: 1, it should be 1; #tasks: 3) +> [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 -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Test 2: -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Turn off Jupiter -> [0.000000] [simix_process/WARNING] Cannot launch process 'daemon' on failed host 'Jupiter' -> [Tremblay:test:(1) 10.000000] [msg_test/INFO] Test 2 does not crash, WTF ?!(number of Process : 1, it should be 1) -> [Tremblay:test:(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:(1) 10.000000] [msg_test/INFO] Turn off -> [Tremblay:test:(1) 10.000000] [msg_test/INFO] sleep -> [Tremblay:test:(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.) +$ ${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 -$ ./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 -> [Tremblay:test:(1) 0.000000] [msg_test/INFO] Test 3 (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 +$ ${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:(1) 10.000000] [msg_test/INFO] number of processes: 3 -> [Tremblay:test:(1) 20.000000] [msg_test/INFO] Turn Jupiter off -> [Tremblay:test:(1) 20.000000] [msg_test/INFO] Test 3 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:commRX:(2) 20.000000] [msg_test/INFO] Receive message: TRANSFERT_FAILURE +> [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 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: TRANSFER_FAILURE > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO] RX Done > [20.000000] [msg_test/INFO] Simulation time 20 + +$ ${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 (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 + +$ ${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 +> [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) +> [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 1.000001] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 2.000002] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 3.000004] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 4.000005] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 5.000006] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 6.000007] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 7.000008] [msg_test/INFO] Execute daemon +> [Jupiter:process_daemonJUPI:(3) 8.000009] [msg_test/INFO] Execute daemon +> [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 has 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! +> [10.000000] [msg_test/INFO] Simulation time 10