Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Fix host-on-off
[simgrid.git] / teshsuite / msg / host_on_off_processes / host_on_off_processes.tesh
1
2 $ ./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
3 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 1:
4 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO]   Create a process on Jupiter
5 > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO]   Start daemon on Jupiter (76296000.000000)
6 > [Jupiter:process_daemon:(2) 0.000000] [msg_test/INFO]   Execute deamon
7 > [Jupiter:process_daemon:(2) 1.000000] [msg_test/INFO]   Execute deamon
8 > [Jupiter:process_daemon:(2) 2.000000] [msg_test/INFO]   Execute deamon
9 > [Tremblay:test_launcher:(1) 3.000000] [msg_test/INFO]   Turn off Jupiter
10 > [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))
11 > [Tremblay:test_launcher:(1) 13.000000] [msg_test/INFO]   Test done. See you!
12 > [13.000000] [msg_test/INFO] Simulation time 13
13
14 $ ./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
15 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 2:
16 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO]   Turn off Jupiter
17 > [0.000000] [simix_process/WARNING] Cannot launch process 'process_daemon' on failed host 'Jupiter'
18 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Test 2 does not crash, WTF ?!(number of Process : 1, it should be 1)
19 > [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
20 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Turn off
21 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   sleep
22 > [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.)
23 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
24 > [20.000000] [msg_test/INFO] Simulation time 20
25
26 $ ./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
27 > [Tremblay:test_launcher:(1) 0.000000] [msg_test/INFO] Test 3:
28 > [Jupiter:process_sleep:(2) 0.000000] [msg_test/INFO]   I'm alive but I should sleep
29 > [Jupiter:process_sleep:(2) 10.000000] [msg_test/INFO]   I'm alive but I should sleep
30 > [Jupiter:process_sleep:(2) 20.000000] [msg_test/INFO]   I'm alive but I should sleep
31 > [Jupiter:process_sleep:(2) 30.000000] [msg_test/INFO]   I'm alive but I should sleep
32 > [Jupiter:process_sleep:(2) 40.000000] [msg_test/INFO]   I'm alive but I should sleep
33 > [Jupiter:process_sleep:(2) 50.000000] [msg_test/INFO]   I'm alive but I should sleep
34 > [Jupiter:process_sleep:(2) 60.000000] [msg_test/INFO]   I'm alive but I should sleep
35 > [Jupiter:process_sleep:(2) 70.000000] [msg_test/INFO]   I'm alive but I should sleep
36 > [Jupiter:process_sleep:(2) 80.000000] [msg_test/INFO]   I'm alive but I should sleep
37 > [Jupiter:process_sleep:(2) 90.000000] [msg_test/INFO]   I'm alive but I should sleep
38 > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO]   Turn off
39 > [Jupiter:process_sleep:(2) 100.000000] [msg_test/INFO]   I'm alive but I should sleep
40 > [Tremblay:test_launcher:(1) 100.000000] [msg_test/INFO]   sleep for 10 seconds
41 > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO] number of Process : 1 it should be 1 (i.e. the Test one))
42 > [Tremblay:test_launcher:(1) 10100.000000] [msg_test/INFO]   Test done. See you!
43 > [10100.000000] [msg_test/INFO] Simulation time 10100
44
45 $ ./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
46 > [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
47 > [Tremblay:commRX:(2) 10.000000] [msg_test/INFO]   Start RX
48 > [Jupiter:commTX:(3) 10.000000] [msg_test/INFO]   Start TX
49 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   number of processes: 3
50 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Turn Jupiter off
51 > [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
52 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
53 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO]   Receive message: TRANSFERT_FAILURE
54 > [Tremblay:commRX:(2) 20.000000] [msg_test/INFO]   RX Done
55 > [20.000000] [msg_test/INFO] Simulation time 20
56
57 # This test is broken (refcount error):
58 # Warning! I think this test is completely broken and it was revealed by
59 # exception/exception test. At time 20, Jupiter should wake up with a
60 # HOST_FAILURE and it gets a TRANSFERT_FAILURE. This is because when turning
61 # off Jupiter, its processes are killed, which cancels/destroys the
62 # corresponding surf communication instead of canceling a src_ or dst_timeout.
63 $ ./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
64 > [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
65 > [Jupiter:commRX:(2) 10.000000] [msg_test/INFO]   Start RX
66 > [Tremblay:commTX:(3) 10.000000] [msg_test/INFO]   Start TX
67 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   number of processes: 3
68 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Turn Jupiter off
69 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO] Test 5 seems ok, cool !(number of Process : 2, it should be 2
70 > [Tremblay:test_launcher:(1) 20.000000] [msg_test/INFO]   Test done. See you!
71 > [Jupiter:commRX:(2) 20.000000] [msg_test/INFO]   Receive message: HOST_FAILURE
72 > [Jupiter:commRX:(2) 20.000000] [msg_test/INFO]   RX Done
73 > [Tremblay:commTX:(3) 40.000000] [msg_test/INFO]   TX done
74 > [40.000000] [msg_test/INFO] Simulation time 40
75
76 $ ./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
77 > [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
78 > [0.000000] [surf_vm_workstation/INFO] Create VM(vm0)@PM(Jupiter) with 0 mounted disks
79 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Start daemon on vm0 (76296000.000000)
80 > [vm0:process_daemon:(2) 0.000000] [msg_test/INFO]   Execute deamon
81 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO]   Start daemon on Jupiter (76296000.000000)
82 > [Jupiter:process_daemonJUPI:(3) 0.000000] [msg_test/INFO]   Execute deamon
83 > [Jupiter:process_daemonJUPI:(3) 1.000001] [msg_test/INFO]   Execute deamon
84 > [Jupiter:process_daemonJUPI:(3) 2.000002] [msg_test/INFO]   Execute deamon
85 > [Jupiter:process_daemonJUPI:(3) 3.000004] [msg_test/INFO]   Execute deamon
86 > [Jupiter:process_daemonJUPI:(3) 4.000005] [msg_test/INFO]   Execute deamon
87 > [Jupiter:process_daemonJUPI:(3) 5.000006] [msg_test/INFO]   Execute deamon
88 > [Jupiter:process_daemonJUPI:(3) 6.000007] [msg_test/INFO]   Execute deamon
89 > [Jupiter:process_daemonJUPI:(3) 7.000008] [msg_test/INFO]   Execute deamon
90 > [Jupiter:process_daemonJUPI:(3) 8.000009] [msg_test/INFO]   Execute deamon
91 > [Jupiter:process_daemonJUPI:(3) 9.000011] [msg_test/INFO]   Execute deamon
92 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Turn Jupiter off
93 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Shutdown vm0
94 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Destroy vm0
95 > [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 ;)
96 > [Tremblay:test_launcher:(1) 10.000000] [msg_test/INFO]   Test done. See you!
97 > [10.000000] [msg_test/INFO] Simulation time 10