Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
useless cosmetics hinted by qtcreator
[simgrid.git] / examples / simdag / schedule-dotload / sd_schedule-dotload.tesh
1 #!/usr/bin/env tesh
2 p Test the loader of DAG written in the DOT format
3
4 ! expect return 2
5 $ $SG_TEST_EXENV ${bindir:=.}/schedule-dotload/sd_schedule-dotload --log=no_loc  "--log=sd_dotparse.thres:verbose" ${srcdir:=.}/../platforms/cluster_backbone.xml ${srcdir:=.}/schedule-dotload/dag_with_bad_schedule.dot
6 > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
7 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'end' can not be scheduled on -1 hosts
8 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '1' can not be scheduled on 0 hosts
9 > [0.000000] [sd_dotparse/VERBOSE] Task '0' wants to start on performer '1' at the same position '1' as task '2'
10 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task '3' can not be scheduled on -1 hosts
11 > [0.000000] [sd_dotparse/VERBOSE] The schedule is ignored, task 'root' can not be scheduled on -1 hosts
12 > [0.000000] [sd_dotparse/WARNING] The scheduling is ignored
13 > [0.000000] [test/CRITICAL] The dot file with the provided scheduling is wrong, more information with the option : --log=sd_dotparse.thres:verbose
14
15 # The order differ when executed with gcc's thread sanitizer
16 ! output sort
17
18 $ $SG_TEST_EXENV ${bindir:=.}/schedule-dotload/sd_schedule-dotload --log=no_loc ${srcdir:=.}/../platforms/cluster_backbone.xml ${srcdir:=.}/schedule-dotload/dag_with_good_schedule.dot
19 > [0.000000] [xbt_cfg/INFO] Switching to the L07 model to handle parallel tasks.
20 > [0.000000] [test/INFO] ------------------- Display all tasks of the loaded DAG ---------------------------
21 > [0.000000] [sd_task/INFO] Displaying task root
22 > [0.000000] [sd_task/INFO]   - state: runnable
23 > [0.000000] [sd_task/INFO]   - kind: sequential computation
24 > [0.000000] [sd_task/INFO]   - amount: 0
25 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 0
26 > [0.000000] [sd_task/INFO]   - post-dependencies:
27 > [0.000000] [sd_task/INFO]     0
28 > [0.000000] [sd_task/INFO]     1
29 > [0.000000] [sd_task/INFO]     root->5
30 > [0.000000] [sd_task/INFO] Displaying task 0
31 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
32 > [0.000000] [sd_task/INFO]   - kind: sequential computation
33 > [0.000000] [sd_task/INFO]   - amount: 10000000129
34 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
35 > [0.000000] [sd_task/INFO]   - pre-dependencies:
36 > [0.000000] [sd_task/INFO]     root
37 > [0.000000] [sd_task/INFO]   - post-dependencies:
38 > [0.000000] [sd_task/INFO]     2
39 > [0.000000] [sd_task/INFO]     0->2
40 > [0.000000] [sd_task/INFO] Displaying task 1
41 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
42 > [0.000000] [sd_task/INFO]   - kind: sequential computation
43 > [0.000000] [sd_task/INFO]   - amount: 10000000131
44 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
45 > [0.000000] [sd_task/INFO]   - pre-dependencies:
46 > [0.000000] [sd_task/INFO]     root
47 > [0.000000] [sd_task/INFO]   - post-dependencies:
48 > [0.000000] [sd_task/INFO]     4
49 > [0.000000] [sd_task/INFO]     1->2
50 > [0.000000] [sd_task/INFO] Displaying task 2
51 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
52 > [0.000000] [sd_task/INFO]   - kind: sequential computation
53 > [0.000000] [sd_task/INFO]   - amount: 10000000121
54 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 3
55 > [0.000000] [sd_task/INFO]   - pre-dependencies:
56 > [0.000000] [sd_task/INFO]     0
57 > [0.000000] [sd_task/INFO]     0->2
58 > [0.000000] [sd_task/INFO]     1->2
59 > [0.000000] [sd_task/INFO]   - post-dependencies:
60 > [0.000000] [sd_task/INFO]     3
61 > [0.000000] [sd_task/INFO]     2->3
62 > [0.000000] [sd_task/INFO] Displaying task 3
63 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
64 > [0.000000] [sd_task/INFO]   - kind: sequential computation
65 > [0.000000] [sd_task/INFO]   - amount: 10000000231
66 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
67 > [0.000000] [sd_task/INFO]   - pre-dependencies:
68 > [0.000000] [sd_task/INFO]     2
69 > [0.000000] [sd_task/INFO]     2->3
70 > [0.000000] [sd_task/INFO]   - post-dependencies:
71 > [0.000000] [sd_task/INFO]     4
72 > [0.000000] [sd_task/INFO]     8
73 > [0.000000] [sd_task/INFO] Displaying task 4
74 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
75 > [0.000000] [sd_task/INFO]   - kind: sequential computation
76 > [0.000000] [sd_task/INFO]   - amount: 10000000005
77 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
78 > [0.000000] [sd_task/INFO]   - pre-dependencies:
79 > [0.000000] [sd_task/INFO]     1
80 > [0.000000] [sd_task/INFO]     3
81 > [0.000000] [sd_task/INFO]   - post-dependencies:
82 > [0.000000] [sd_task/INFO]     5
83 > [0.000000] [sd_task/INFO]     4->5
84 > [0.000000] [sd_task/INFO] Displaying task 5
85 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
86 > [0.000000] [sd_task/INFO]   - kind: sequential computation
87 > [0.000000] [sd_task/INFO]   - amount: 10000000046
88 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 3
89 > [0.000000] [sd_task/INFO]   - pre-dependencies:
90 > [0.000000] [sd_task/INFO]     4
91 > [0.000000] [sd_task/INFO]     root->5
92 > [0.000000] [sd_task/INFO]     4->5
93 > [0.000000] [sd_task/INFO]   - post-dependencies:
94 > [0.000000] [sd_task/INFO]     6
95 > [0.000000] [sd_task/INFO] Displaying task 6
96 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
97 > [0.000000] [sd_task/INFO]   - kind: sequential computation
98 > [0.000000] [sd_task/INFO]   - amount: 10000000092
99 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
100 > [0.000000] [sd_task/INFO]   - pre-dependencies:
101 > [0.000000] [sd_task/INFO]     5
102 > [0.000000] [sd_task/INFO]   - post-dependencies:
103 > [0.000000] [sd_task/INFO]     7
104 > [0.000000] [sd_task/INFO]     6->7
105 > [0.000000] [sd_task/INFO] Displaying task 7
106 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
107 > [0.000000] [sd_task/INFO]   - kind: sequential computation
108 > [0.000000] [sd_task/INFO]   - amount: 10000000041
109 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
110 > [0.000000] [sd_task/INFO]   - pre-dependencies:
111 > [0.000000] [sd_task/INFO]     6
112 > [0.000000] [sd_task/INFO]     6->7
113 > [0.000000] [sd_task/INFO]   - post-dependencies:
114 > [0.000000] [sd_task/INFO]     end
115 > [0.000000] [sd_task/INFO]     7->8
116 > [0.000000] [sd_task/INFO]     7->end
117 > [0.000000] [sd_task/INFO] Displaying task 8
118 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
119 > [0.000000] [sd_task/INFO]   - kind: sequential computation
120 > [0.000000] [sd_task/INFO]   - amount: 10000000250
121 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 2
122 > [0.000000] [sd_task/INFO]   - pre-dependencies:
123 > [0.000000] [sd_task/INFO]     3
124 > [0.000000] [sd_task/INFO]     7->8
125 > [0.000000] [sd_task/INFO]   - post-dependencies:
126 > [0.000000] [sd_task/INFO]     9
127 > [0.000000] [sd_task/INFO] Displaying task 9
128 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
129 > [0.000000] [sd_task/INFO]   - kind: sequential computation
130 > [0.000000] [sd_task/INFO]   - amount: 10000000079
131 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
132 > [0.000000] [sd_task/INFO]   - pre-dependencies:
133 > [0.000000] [sd_task/INFO]     8
134 > [0.000000] [sd_task/INFO]   - post-dependencies:
135 > [0.000000] [sd_task/INFO]     end
136 > [0.000000] [sd_task/INFO] Displaying task root->5
137 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
138 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
139 > [0.000000] [sd_task/INFO]   - amount: 10014000
140 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
141 > [0.000000] [sd_task/INFO]   - pre-dependencies:
142 > [0.000000] [sd_task/INFO]     root
143 > [0.000000] [sd_task/INFO]   - post-dependencies:
144 > [0.000000] [sd_task/INFO]     5
145 > [0.000000] [sd_task/INFO] Displaying task 0->2
146 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
147 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
148 > [0.000000] [sd_task/INFO]   - amount: 10001
149 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
150 > [0.000000] [sd_task/INFO]   - pre-dependencies:
151 > [0.000000] [sd_task/INFO]     0
152 > [0.000000] [sd_task/INFO]   - post-dependencies:
153 > [0.000000] [sd_task/INFO]     2
154 > [0.000000] [sd_task/INFO] Displaying task 1->2
155 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
156 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
157 > [0.000000] [sd_task/INFO]   - amount: 10004
158 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
159 > [0.000000] [sd_task/INFO]   - pre-dependencies:
160 > [0.000000] [sd_task/INFO]     1
161 > [0.000000] [sd_task/INFO]   - post-dependencies:
162 > [0.000000] [sd_task/INFO]     2
163 > [0.000000] [sd_task/INFO] Displaying task 2->3
164 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
165 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
166 > [0.000000] [sd_task/INFO]   - amount: 10002
167 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
168 > [0.000000] [sd_task/INFO]   - pre-dependencies:
169 > [0.000000] [sd_task/INFO]     2
170 > [0.000000] [sd_task/INFO]   - post-dependencies:
171 > [0.000000] [sd_task/INFO]     3
172 > [0.000000] [sd_task/INFO] Displaying task 4->5
173 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
174 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
175 > [0.000000] [sd_task/INFO]   - amount: 10029
176 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
177 > [0.000000] [sd_task/INFO]   - pre-dependencies:
178 > [0.000000] [sd_task/INFO]     4
179 > [0.000000] [sd_task/INFO]   - post-dependencies:
180 > [0.000000] [sd_task/INFO]     5
181 > [0.000000] [sd_task/INFO] Displaying task 6->7
182 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
183 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
184 > [0.000000] [sd_task/INFO]   - amount: 10005
185 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
186 > [0.000000] [sd_task/INFO]   - pre-dependencies:
187 > [0.000000] [sd_task/INFO]     6
188 > [0.000000] [sd_task/INFO]   - post-dependencies:
189 > [0.000000] [sd_task/INFO]     7
190 > [0.000000] [sd_task/INFO] Displaying task 7->8
191 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
192 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
193 > [0.000000] [sd_task/INFO]   - amount: 10000
194 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
195 > [0.000000] [sd_task/INFO]   - pre-dependencies:
196 > [0.000000] [sd_task/INFO]     7
197 > [0.000000] [sd_task/INFO]   - post-dependencies:
198 > [0.000000] [sd_task/INFO]     8
199 > [0.000000] [sd_task/INFO] Displaying task 7->end
200 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
201 > [0.000000] [sd_task/INFO]   - kind: end-to-end communication
202 > [0.000000] [sd_task/INFO]   - amount: 10014000
203 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 1
204 > [0.000000] [sd_task/INFO]   - pre-dependencies:
205 > [0.000000] [sd_task/INFO]     7
206 > [0.000000] [sd_task/INFO]   - post-dependencies:
207 > [0.000000] [sd_task/INFO]     end
208 > [0.000000] [sd_task/INFO] Displaying task end
209 > [0.000000] [sd_task/INFO]   - state: scheduled not runnable
210 > [0.000000] [sd_task/INFO]   - kind: sequential computation
211 > [0.000000] [sd_task/INFO]   - amount: 10000000129
212 > [0.000000] [sd_task/INFO]   - Dependencies to satisfy: 3
213 > [0.000000] [sd_task/INFO]   - pre-dependencies:
214 > [0.000000] [sd_task/INFO]     7
215 > [0.000000] [sd_task/INFO]     9
216 > [0.000000] [sd_task/INFO]     7->end
217 > [0.000000] [test/INFO] ------------------- Run the schedule ---------------------------
218 > [100.003561] [test/INFO] ------------------- Produce the trace file---------------------------
219 > [100.003561] [test/INFO] Producing the trace of the run into dag_with_good_schedule.trace
220
221 $ cat ${srcdir:=.}/schedule-dotload/dag_with_good_schedule.trace
222 > [0.000000->0.000000] node-0.simgrid.org compute 0.000000 flops # root
223 > [0.000000->10.000000] node-1.simgrid.org compute 10000000129.452715 flops # 0
224 > [0.000000->10.000000] node-0.simgrid.org compute 10000000131.133657 flops # 1
225 > [10.000760->20.000760] node-1.simgrid.org compute 10000000121.124870 flops # 2
226 > [20.001440->30.001441] node-1.simgrid.org compute 10000000230.608025 flops # 3
227 > [30.001441->40.001441] node-0.simgrid.org compute 10000000004.994019 flops # 4
228 > [40.002121->50.002121] node-0.simgrid.org compute 10000000046.016401 flops # 5
229 > [50.002121->60.002121] node-0.simgrid.org compute 10000000091.598791 flops # 6
230 > [60.002801->70.002801] node-0.simgrid.org compute 10000000040.679438 flops # 7
231 > [70.003561->80.003561] node-1.simgrid.org compute 10000000250.490017 flops # 8
232 > [80.003561->90.003561] node-1.simgrid.org compute 10000000079.267649 flops # 9
233 > [0.000000 -> 0.080712] node-0.simgrid.org -> node-0.simgrid.org transfer of 10014000 bytes # root->5
234 > [10.000000 -> 10.000760] node-1.simgrid.org -> node-1.simgrid.org transfer of 10001 bytes # 0->2
235 > [10.000000 -> 10.000760] node-0.simgrid.org -> node-1.simgrid.org transfer of 10004 bytes # 1->2
236 > [20.000760 -> 20.001440] node-1.simgrid.org -> node-1.simgrid.org transfer of 10002 bytes # 2->3
237 > [40.001441 -> 40.002121] node-0.simgrid.org -> node-0.simgrid.org transfer of 10029 bytes # 4->5
238 > [60.002121 -> 60.002801] node-0.simgrid.org -> node-0.simgrid.org transfer of 10005 bytes # 6->7
239 > [70.002801 -> 70.003561] node-0.simgrid.org -> node-1.simgrid.org transfer of 10000 bytes # 7->8
240 > [70.002801 -> 70.083593] node-0.simgrid.org -> node-0.simgrid.org transfer of 10014000 bytes # 7->end
241 > [90.003561->100.003561] node-0.simgrid.org compute 10000000129.452715 flops # end
242
243 $ rm -f ${srcdir:=.}/schedule-dotload/dag_with_good_schedule.trace
244