~nchohan/appscale/zk3.3.4

« back to all changes in this revision

Viewing changes to AppController/coverage/-home-cgb-clients-main-main-cgb-research-Neptune-task_engine_rb.html

  • Committer: Chris Bunch
  • Date: 2012-03-09 23:38:29 UTC
  • mfrom: (787.2.8 appscale)
  • Revision ID: cgb@cs.ucsb.edu-20120309233829-27oe2fpf7a01tokw
merged back with main branch

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
 
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
 
  <head>
4
 
    <title>/home/cgb/clients/main/main-cgb-research/Neptune/task_engine.rb</title>
5
 
    <link href="screen.css" media="all" rel="stylesheet" type="text/css" />
6
 
    <link href="print.css" media="print" rel="stylesheet" type="text/css" />
7
 
    
8
 
    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
9
 
    <script type="text/javascript" src="rcov.js"></script>
10
 
  </head>
11
 
  <body>
12
 
    <h1>Appcontroller C0 Coverage Information - RCov</h1>
13
 
    <h2>/home/cgb/clients/main/main-cgb-research/Neptune/task_engine.rb</h2>
14
 
 
15
 
    
16
 
 
17
 
    <div class="report_table_wrapper">
18
 
      <table class='report' id='report_table'>
19
 
        <thead>
20
 
          <tr>
21
 
            <th class="left_align">Name</th>
22
 
            <th class="right_align">Total Lines</th>
23
 
            <th class="right_align">Lines of Code</th>
24
 
            <th class="left_align">Total Coverage</th>
25
 
            <th class="left_align">Code Coverage</th>
26
 
          </tr>
27
 
        </thead>
28
 
        <tbody>
29
 
          <tr>
30
 
            <td class="left_align"><a href="-home-cgb-clients-main-main-cgb-research-Neptune-task_engine_rb.html">/home/cgb/clients/main/main-cgb-research/Neptune/task_engine.rb</a></td>
31
 
            <td class='right_align'><tt>103</tt></td>
32
 
            <td class='right_align'><tt>72</tt></td>
33
 
            <td class="left_align"><div class="percent_graph_legend"><tt class=''>32.04%</tt></div>
34
 
          <div class="percent_graph">
35
 
            <div class="covered" style="width:32px"></div>
36
 
            <div class="uncovered" style="width:68px"></div>
37
 
          </div></td>
38
 
            <td class="left_align"><div class="percent_graph_legend"><tt class=''>16.67%</tt></div>
39
 
          <div class="percent_graph">
40
 
            <div class="covered" style="width:17px"></div>
41
 
            <div class="uncovered" style="width:83px"></div>
42
 
          </div></td>
43
 
          </tr>
44
 
        </tbody>
45
 
      </table>
46
 
    </div>
47
 
    
48
 
    <h3>Key</h3>
49
 
    
50
 
    <div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
51
 
 
52
 
    <h3>Coverage Details</h3>
53
 
 
54
 
    <table class="details">
55
 
      <tbody>
56
 
        
57
 
          
58
 
          
59
 
          <tr class="inferred">
60
 
            <td><pre><a name="line1">1</a> </pre></td>
61
 
          </tr>
62
 
        
63
 
          
64
 
          
65
 
          <tr class="marked">
66
 
            <td><pre><a name="line2">2</a> class TaskEngine</pre></td>
67
 
          </tr>
68
 
        
69
 
          
70
 
          
71
 
          <tr class="marked">
72
 
            <td><pre><a name="line3">3</a>   def initialize(credentials)</pre></td>
73
 
          </tr>
74
 
        
75
 
          
76
 
          
77
 
          <tr class="uncovered">
78
 
            <td><pre><a name="line4">4</a>     raise NotImplementedError</pre></td>
79
 
          </tr>
80
 
        
81
 
          
82
 
          
83
 
          <tr class="uncovered">
84
 
            <td><pre><a name="line5">5</a>   end</pre></td>
85
 
          </tr>
86
 
        
87
 
          
88
 
          
89
 
          <tr class="inferred">
90
 
            <td><pre><a name="line6">6</a> </pre></td>
91
 
          </tr>
92
 
        
93
 
          
94
 
          
95
 
          <tr class="inferred">
96
 
            <td><pre><a name="line7">7</a> </pre></td>
97
 
          </tr>
98
 
        
99
 
          
100
 
          
101
 
          <tr class="marked">
102
 
            <td><pre><a name="line8">8</a>   def push(job_data)</pre></td>
103
 
          </tr>
104
 
        
105
 
          
106
 
          
107
 
          <tr class="uncovered">
108
 
            <td><pre><a name="line9">9</a>     dir = Djinn.create_temp_dir()</pre></td>
109
 
          </tr>
110
 
        
111
 
          
112
 
          
113
 
          <tr class="uncovered">
114
 
            <td><pre><a name="line10">10</a>     Djinn.copy_code_to_dir(job_data, dir)</pre></td>
115
 
          </tr>
116
 
        
117
 
          
118
 
          
119
 
          <tr class="uncovered">
120
 
            <td><pre><a name="line11">11</a> </pre></td>
121
 
          </tr>
122
 
        
123
 
          
124
 
          
125
 
          <tr class="uncovered">
126
 
            <td><pre><a name="line12">12</a>     if app_needs_uploading?(job_data)</pre></td>
127
 
          </tr>
128
 
        
129
 
          
130
 
          
131
 
          <tr class="uncovered">
132
 
            <td><pre><a name="line13">13</a>       app_location = build_app_via_oration(job_data, dir)</pre></td>
133
 
          </tr>
134
 
        
135
 
          
136
 
          
137
 
          <tr class="uncovered">
138
 
            <td><pre><a name="line14">14</a>       upload_app(job_data, app_location)</pre></td>
139
 
          </tr>
140
 
        
141
 
          
142
 
          
143
 
          <tr class="uncovered">
144
 
            <td><pre><a name="line15">15</a>     end</pre></td>
145
 
          </tr>
146
 
        
147
 
          
148
 
          
149
 
          <tr class="uncovered">
150
 
            <td><pre><a name="line16">16</a> </pre></td>
151
 
          </tr>
152
 
        
153
 
          
154
 
          
155
 
          <tr class="uncovered">
156
 
            <td><pre><a name="line17">17</a>     job_data['@host'] = get_app_url(job_data)</pre></td>
157
 
          </tr>
158
 
        
159
 
          
160
 
          
161
 
          <tr class="uncovered">
162
 
            <td><pre><a name="line18">18</a>     task_id = run_task(job_data)</pre></td>
163
 
          </tr>
164
 
        
165
 
          
166
 
          
167
 
          <tr class="uncovered">
168
 
            <td><pre><a name="line19">19</a>     wait_for_task_to_finish(job_data, task_id)</pre></td>
169
 
          </tr>
170
 
        
171
 
          
172
 
          
173
 
          <tr class="uncovered">
174
 
            <td><pre><a name="line20">20</a>     save_output_to_datastore(job_data)</pre></td>
175
 
          </tr>
176
 
        
177
 
          
178
 
          
179
 
          <tr class="uncovered">
180
 
            <td><pre><a name="line21">21</a>     Djinn.cleanup(dir)</pre></td>
181
 
          </tr>
182
 
        
183
 
          
184
 
          
185
 
          <tr class="uncovered">
186
 
            <td><pre><a name="line22">22</a>   end</pre></td>
187
 
          </tr>
188
 
        
189
 
          
190
 
          
191
 
          <tr class="inferred">
192
 
            <td><pre><a name="line23">23</a> </pre></td>
193
 
          </tr>
194
 
        
195
 
          
196
 
          
197
 
          <tr class="inferred">
198
 
            <td><pre><a name="line24">24</a> </pre></td>
199
 
          </tr>
200
 
        
201
 
          
202
 
          
203
 
          <tr class="marked">
204
 
            <td><pre><a name="line25">25</a>   def app_needs_uploading?(job_data)</pre></td>
205
 
          </tr>
206
 
        
207
 
          
208
 
          
209
 
          <tr class="uncovered">
210
 
            <td><pre><a name="line26">26</a>     raise NotImplementedError</pre></td>
211
 
          </tr>
212
 
        
213
 
          
214
 
          
215
 
          <tr class="uncovered">
216
 
            <td><pre><a name="line27">27</a>   end</pre></td>
217
 
          </tr>
218
 
        
219
 
          
220
 
          
221
 
          <tr class="inferred">
222
 
            <td><pre><a name="line28">28</a> </pre></td>
223
 
          </tr>
224
 
        
225
 
          
226
 
          
227
 
          <tr class="inferred">
228
 
            <td><pre><a name="line29">29</a> </pre></td>
229
 
          </tr>
230
 
        
231
 
          
232
 
          
233
 
          <tr class="marked">
234
 
            <td><pre><a name="line30">30</a>   def build_app_via_oration(job_data, dir)</pre></td>
235
 
          </tr>
236
 
        
237
 
          
238
 
          
239
 
          <tr class="uncovered">
240
 
            <td><pre><a name="line31">31</a>     Djinn.log_debug(&quot;building app via oration&quot;)</pre></td>
241
 
          </tr>
242
 
        
243
 
          
244
 
          
245
 
          <tr class="uncovered">
246
 
            <td><pre><a name="line32">32</a>     Djinn.log_debug(&quot;job data is #{job_data.inspect}&quot;)</pre></td>
247
 
          </tr>
248
 
        
249
 
          
250
 
          
251
 
          <tr class="uncovered">
252
 
            <td><pre><a name="line33">33</a>     file = job_data['@code']</pre></td>
253
 
          </tr>
254
 
        
255
 
          
256
 
          
257
 
          <tr class="uncovered">
258
 
            <td><pre><a name="line34">34</a>     output = dir + &quot;/appengine-app&quot;</pre></td>
259
 
          </tr>
260
 
        
261
 
          
262
 
          
263
 
          <tr class="uncovered">
264
 
            <td><pre><a name="line35">35</a> </pre></td>
265
 
          </tr>
266
 
        
267
 
          
268
 
          
269
 
          <tr class="uncovered">
270
 
            <td><pre><a name="line36">36</a>     # TODO(cgb) - definitely check the return val here</pre></td>
271
 
          </tr>
272
 
        
273
 
          
274
 
          
275
 
          <tr class="uncovered">
276
 
            <td><pre><a name="line37">37</a>     Djinn.log_run(&quot;oration --file #{file} --function #{@function} &quot; +</pre></td>
277
 
          </tr>
278
 
        
279
 
          
280
 
          
281
 
          <tr class="uncovered">
282
 
            <td><pre><a name="line38">38</a>       &quot;--appid #{@appid} --output #{output}&quot;)</pre></td>
283
 
          </tr>
284
 
        
285
 
          
286
 
          
287
 
          <tr class="uncovered">
288
 
            <td><pre><a name="line39">39</a>     return output</pre></td>
289
 
          </tr>
290
 
        
291
 
          
292
 
          
293
 
          <tr class="uncovered">
294
 
            <td><pre><a name="line40">40</a>   end</pre></td>
295
 
          </tr>
296
 
        
297
 
          
298
 
          
299
 
          <tr class="inferred">
300
 
            <td><pre><a name="line41">41</a> </pre></td>
301
 
          </tr>
302
 
        
303
 
          
304
 
          
305
 
          <tr class="inferred">
306
 
            <td><pre><a name="line42">42</a> </pre></td>
307
 
          </tr>
308
 
        
309
 
          
310
 
          
311
 
          <tr class="marked">
312
 
            <td><pre><a name="line43">43</a>   def upload_app(job_data, app_location)</pre></td>
313
 
          </tr>
314
 
        
315
 
          
316
 
          
317
 
          <tr class="uncovered">
318
 
            <td><pre><a name="line44">44</a>     raise NotImplementedError</pre></td>
319
 
          </tr>
320
 
        
321
 
          
322
 
          
323
 
          <tr class="uncovered">
324
 
            <td><pre><a name="line45">45</a>   end</pre></td>
325
 
          </tr>
326
 
        
327
 
          
328
 
          
329
 
          <tr class="inferred">
330
 
            <td><pre><a name="line46">46</a> </pre></td>
331
 
          </tr>
332
 
        
333
 
          
334
 
          
335
 
          <tr class="inferred">
336
 
            <td><pre><a name="line47">47</a> </pre></td>
337
 
          </tr>
338
 
        
339
 
          
340
 
          
341
 
          <tr class="marked">
342
 
            <td><pre><a name="line48">48</a>   def get_app_url(job_data)</pre></td>
343
 
          </tr>
344
 
        
345
 
          
346
 
          
347
 
          <tr class="uncovered">
348
 
            <td><pre><a name="line49">49</a>     raise NotImplementedError</pre></td>
349
 
          </tr>
350
 
        
351
 
          
352
 
          
353
 
          <tr class="uncovered">
354
 
            <td><pre><a name="line50">50</a>   end</pre></td>
355
 
          </tr>
356
 
        
357
 
          
358
 
          
359
 
          <tr class="inferred">
360
 
            <td><pre><a name="line51">51</a> </pre></td>
361
 
          </tr>
362
 
        
363
 
          
364
 
          
365
 
          <tr class="inferred">
366
 
            <td><pre><a name="line52">52</a> </pre></td>
367
 
          </tr>
368
 
        
369
 
          
370
 
          
371
 
          <tr class="marked">
372
 
            <td><pre><a name="line53">53</a>   def run_task(job_data)</pre></td>
373
 
          </tr>
374
 
        
375
 
          
376
 
          
377
 
          <tr class="uncovered">
378
 
            <td><pre><a name="line54">54</a>     Djinn.log_debug(&quot;running a task in #{engine_name()}&quot;)</pre></td>
379
 
          </tr>
380
 
        
381
 
          
382
 
          
383
 
          <tr class="uncovered">
384
 
            <td><pre><a name="line55">55</a>     host = job_data['@host']</pre></td>
385
 
          </tr>
386
 
        
387
 
          
388
 
          
389
 
          <tr class="uncovered">
390
 
            <td><pre><a name="line56">56</a> </pre></td>
391
 
          </tr>
392
 
        
393
 
          
394
 
          
395
 
          <tr class="uncovered">
396
 
            <td><pre><a name="line57">57</a>     if job_data['@argv'].nil? or job_data['@argv'].empty?</pre></td>
397
 
          </tr>
398
 
        
399
 
          
400
 
          
401
 
          <tr class="uncovered">
402
 
            <td><pre><a name="line58">58</a>       inputs = []</pre></td>
403
 
          </tr>
404
 
        
405
 
          
406
 
          
407
 
          <tr class="uncovered">
408
 
            <td><pre><a name="line59">59</a>     else</pre></td>
409
 
          </tr>
410
 
        
411
 
          
412
 
          
413
 
          <tr class="uncovered">
414
 
            <td><pre><a name="line60">60</a>       inputs = job_data['@argv']</pre></td>
415
 
          </tr>
416
 
        
417
 
          
418
 
          
419
 
          <tr class="uncovered">
420
 
            <td><pre><a name="line61">61</a>     end</pre></td>
421
 
          </tr>
422
 
        
423
 
          
424
 
          
425
 
          <tr class="uncovered">
426
 
            <td><pre><a name="line62">62</a> </pre></td>
427
 
          </tr>
428
 
        
429
 
          
430
 
          
431
 
          <tr class="uncovered">
432
 
            <td><pre><a name="line63">63</a>     return Djinn.execute_task(host, job_data['@function'], inputs, </pre></td>
433
 
          </tr>
434
 
        
435
 
          
436
 
          
437
 
          <tr class="uncovered">
438
 
            <td><pre><a name="line64">64</a>       job_data['@output'])</pre></td>
439
 
          </tr>
440
 
        
441
 
          
442
 
          
443
 
          <tr class="uncovered">
444
 
            <td><pre><a name="line65">65</a>   end</pre></td>
445
 
          </tr>
446
 
        
447
 
          
448
 
          
449
 
          <tr class="inferred">
450
 
            <td><pre><a name="line66">66</a> </pre></td>
451
 
          </tr>
452
 
        
453
 
          
454
 
          
455
 
          <tr class="inferred">
456
 
            <td><pre><a name="line67">67</a> </pre></td>
457
 
          </tr>
458
 
        
459
 
          
460
 
          
461
 
          <tr class="marked">
462
 
            <td><pre><a name="line68">68</a>   def wait_for_task_to_finish(job_data, task_id)</pre></td>
463
 
          </tr>
464
 
        
465
 
          
466
 
          
467
 
          <tr class="uncovered">
468
 
            <td><pre><a name="line69">69</a>     Djinn.log_debug(&quot;waiting for #{engine_name()} task to finish&quot;)</pre></td>
469
 
          </tr>
470
 
        
471
 
          
472
 
          
473
 
          <tr class="uncovered">
474
 
            <td><pre><a name="line70">70</a>     host = job_data['@host']</pre></td>
475
 
          </tr>
476
 
        
477
 
          
478
 
          
479
 
          <tr class="uncovered">
480
 
            <td><pre><a name="line71">71</a>     Djinn.wait_for_task_to_complete(host, task_id)</pre></td>
481
 
          </tr>
482
 
        
483
 
          
484
 
          
485
 
          <tr class="uncovered">
486
 
            <td><pre><a name="line72">72</a>   end</pre></td>
487
 
          </tr>
488
 
        
489
 
          
490
 
          
491
 
          <tr class="inferred">
492
 
            <td><pre><a name="line73">73</a> </pre></td>
493
 
          </tr>
494
 
        
495
 
          
496
 
          
497
 
          <tr class="inferred">
498
 
            <td><pre><a name="line74">74</a> </pre></td>
499
 
          </tr>
500
 
        
501
 
          
502
 
          
503
 
          <tr class="marked">
504
 
            <td><pre><a name="line75">75</a>   def save_output_to_datastore(job_data)</pre></td>
505
 
          </tr>
506
 
        
507
 
          
508
 
          
509
 
          <tr class="uncovered">
510
 
            <td><pre><a name="line76">76</a>     Djinn.log_debug(&quot;copying output from #{engine_name()} to remote datastore&quot;)</pre></td>
511
 
          </tr>
512
 
        
513
 
          
514
 
          
515
 
          <tr class="uncovered">
516
 
            <td><pre><a name="line77">77</a>    </pre></td>
517
 
          </tr>
518
 
        
519
 
          
520
 
          
521
 
          <tr class="uncovered">
522
 
            <td><pre><a name="line78">78</a>     host = job_data['@host']</pre></td>
523
 
          </tr>
524
 
        
525
 
          
526
 
          
527
 
          <tr class="uncovered">
528
 
            <td><pre><a name="line79">79</a>     output_location = job_data['@output']</pre></td>
529
 
          </tr>
530
 
        
531
 
          
532
 
          
533
 
          <tr class="uncovered">
534
 
            <td><pre><a name="line80">80</a>     output = Djinn.get_output(host, output_location)</pre></td>
535
 
          </tr>
536
 
        
537
 
          
538
 
          
539
 
          <tr class="uncovered">
540
 
            <td><pre><a name="line81">81</a> </pre></td>
541
 
          </tr>
542
 
        
543
 
          
544
 
          
545
 
          <tr class="uncovered">
546
 
            <td><pre><a name="line82">82</a>     Djinn.log_debug(&quot;got output from #{engine_name()} app at [#{host}], &quot; +</pre></td>
547
 
          </tr>
548
 
        
549
 
          
550
 
          
551
 
          <tr class="uncovered">
552
 
            <td><pre><a name="line83">83</a>       &quot;stored at [#{output_location}], storing to remote datastore&quot;)</pre></td>
553
 
          </tr>
554
 
        
555
 
          
556
 
          
557
 
          <tr class="uncovered">
558
 
            <td><pre><a name="line84">84</a>     </pre></td>
559
 
          </tr>
560
 
        
561
 
          
562
 
          
563
 
          <tr class="uncovered">
564
 
            <td><pre><a name="line85">85</a>     local_output = &quot;/tmp/babel-#{rand()}.txt&quot;</pre></td>
565
 
          </tr>
566
 
        
567
 
          
568
 
          
569
 
          <tr class="uncovered">
570
 
            <td><pre><a name="line86">86</a>     HelperFunctions.write_file(local_output, output)</pre></td>
571
 
          </tr>
572
 
        
573
 
          
574
 
          
575
 
          <tr class="uncovered">
576
 
            <td><pre><a name="line87">87</a>     Djinn.save_output(local_output, job_data)</pre></td>
577
 
          </tr>
578
 
        
579
 
          
580
 
          
581
 
          <tr class="uncovered">
582
 
            <td><pre><a name="line88">88</a> </pre></td>
583
 
          </tr>
584
 
        
585
 
          
586
 
          
587
 
          <tr class="uncovered">
588
 
            <td><pre><a name="line89">89</a>     return if DEBUG</pre></td>
589
 
          </tr>
590
 
        
591
 
          
592
 
          
593
 
          <tr class="uncovered">
594
 
            <td><pre><a name="line90">90</a>     Djinn.log_debug(&quot;cleaning up local output at #{local_output}&quot;)</pre></td>
595
 
          </tr>
596
 
        
597
 
          
598
 
          
599
 
          <tr class="uncovered">
600
 
            <td><pre><a name="line91">91</a>     FileUtils.rm_f(local_output)</pre></td>
601
 
          </tr>
602
 
        
603
 
          
604
 
          
605
 
          <tr class="uncovered">
606
 
            <td><pre><a name="line92">92</a>   end</pre></td>
607
 
          </tr>
608
 
        
609
 
          
610
 
          
611
 
          <tr class="inferred">
612
 
            <td><pre><a name="line93">93</a> </pre></td>
613
 
          </tr>
614
 
        
615
 
          
616
 
          
617
 
          <tr class="inferred">
618
 
            <td><pre><a name="line94">94</a> </pre></td>
619
 
          </tr>
620
 
        
621
 
          
622
 
          
623
 
          <tr class="marked">
624
 
            <td><pre><a name="line95">95</a>   def to_s()</pre></td>
625
 
          </tr>
626
 
        
627
 
          
628
 
          
629
 
          <tr class="uncovered">
630
 
            <td><pre><a name="line96">96</a>     return &quot;Engine type: #{engine_name()}&quot;</pre></td>
631
 
          </tr>
632
 
        
633
 
          
634
 
          
635
 
          <tr class="uncovered">
636
 
            <td><pre><a name="line97">97</a>   end</pre></td>
637
 
          </tr>
638
 
        
639
 
          
640
 
          
641
 
          <tr class="inferred">
642
 
            <td><pre><a name="line98">98</a> </pre></td>
643
 
          </tr>
644
 
        
645
 
          
646
 
          
647
 
          <tr class="inferred">
648
 
            <td><pre><a name="line99">99</a>   </pre></td>
649
 
          </tr>
650
 
        
651
 
          
652
 
          
653
 
          <tr class="marked">
654
 
            <td><pre><a name="line100">100</a>   def engine_name()</pre></td>
655
 
          </tr>
656
 
        
657
 
          
658
 
          
659
 
          <tr class="uncovered">
660
 
            <td><pre><a name="line101">101</a>     raise NotImplementedError</pre></td>
661
 
          </tr>
662
 
        
663
 
          
664
 
          
665
 
          <tr class="uncovered">
666
 
            <td><pre><a name="line102">102</a>   end</pre></td>
667
 
          </tr>
668
 
        
669
 
          
670
 
          
671
 
          <tr class="uncovered">
672
 
            <td><pre><a name="line103">103</a> end</pre></td>
673
 
          </tr>
674
 
        
675
 
      </tbody>
676
 
    </table>
677
 
 
678
 
    <p>Generated on Sun Feb 26 23:19:27 -0800 2012 with <a href="http://github.com/relevance/rcov">rcov 0.9.8</a></p>
679
 
 
680
 
  </body>
681
 
</html>