rake-dotnet 0.1.15 → 0.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. data/History.txt +22 -0
  2. data/Manifest.txt +39 -1
  3. data/Rakefile.rb +44 -14
  4. data/coverage/index.html +576 -0
  5. data/coverage/lib-assemblyinfo_rb.html +716 -0
  6. data/coverage/lib-bcpcmd_rb.html +704 -0
  7. data/coverage/lib-cli_rb.html +646 -0
  8. data/coverage/lib-fxcop_rb.html +723 -0
  9. data/coverage/lib-harvester_rb.html +741 -0
  10. data/coverage/lib-iisappcmd_rb.html +657 -0
  11. data/coverage/lib-msbuild_rb.html +713 -0
  12. data/coverage/lib-ncover_rb.html +773 -0
  13. data/coverage/lib-package_rb.html +691 -0
  14. data/coverage/lib-sevenzip_rb.html +665 -0
  15. data/coverage/lib-sqlcmd_rb.html +680 -0
  16. data/coverage/lib-svn_rb.html +671 -0
  17. data/coverage/lib-version_rb.html +651 -0
  18. data/coverage/lib-xunit_rb.html +727 -0
  19. data/doc/examples.html +482 -0
  20. data/lib/rake_dotnet.rb +826 -616
  21. data/lib/rake_dotnet/default_rakefile.rb +16 -0
  22. data/spec/assemblyinfotask_spec.rb +8 -0
  23. data/spec/bcpcmd_spec.rb +81 -0
  24. data/spec/cli_spec.rb +48 -0
  25. data/spec/constants_spec.rb +6 -0
  26. data/spec/fxcopcmd_spec.rb +8 -0
  27. data/spec/fxcoptask_spec.rb +7 -0
  28. data/spec/harvester_spec.rb +6 -0
  29. data/spec/harvestoutputtask_spec.rb +6 -0
  30. data/spec/harvestwebapplicationtask_spec.rb +6 -0
  31. data/spec/iisappcmd_spec.rb +15 -0
  32. data/spec/msbuildcmd_spec.rb +7 -0
  33. data/spec/msbuildtask_spec.rb +7 -0
  34. data/spec/ncoverconsolecmd_spec.rb +12 -0
  35. data/spec/ncoverreportingcmd_spec.rb +14 -0
  36. data/spec/ncovertask_spec.rb +24 -0
  37. data/spec/rdnpackagetask_spec.rb +6 -0
  38. data/spec/sevenzipcmd_spec.rb +7 -0
  39. data/spec/sqlcmd_spec.rb +52 -0
  40. data/spec/svncmd_spec.rb +45 -0
  41. data/spec/versioner_spec.rb +6 -0
  42. data/spec/xunitcmd_spec.rb +10 -0
  43. data/spec/xunittask_spec.rb +7 -0
  44. metadata +77 -9
  45. data/test/test_rake_dotnet.rb +0 -16
@@ -0,0 +1,727 @@
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'><head><title>lib/xunit.rb - C0 code coverage information</title>
3
+ <style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
4
+ <style type='text/css'>span.cross-ref-title {
5
+ font-size: 140%;
6
+ }
7
+ span.cross-ref a {
8
+ text-decoration: none;
9
+ }
10
+ span.cross-ref {
11
+ background-color:#f3f7fa;
12
+ border: 1px dashed #333;
13
+ margin: 1em;
14
+ padding: 0.5em;
15
+ overflow: hidden;
16
+ }
17
+ a.crossref-toggle {
18
+ text-decoration: none;
19
+ }
20
+ span.marked0 {
21
+ background-color: rgb(185, 210, 200);
22
+ display: block;
23
+ }
24
+ span.marked1 {
25
+ background-color: rgb(190, 215, 205);
26
+ display: block;
27
+ }
28
+ span.inferred0 {
29
+ background-color: rgb(175, 200, 200);
30
+ display: block;
31
+ }
32
+ span.inferred1 {
33
+ background-color: rgb(180, 205, 205);
34
+ display: block;
35
+ }
36
+ span.uncovered0 {
37
+ background-color: rgb(225, 110, 110);
38
+ display: block;
39
+ }
40
+ span.uncovered1 {
41
+ background-color: rgb(235, 120, 120);
42
+ display: block;
43
+ }
44
+ span.overview {
45
+ border-bottom: 8px solid black;
46
+ }
47
+ div.overview {
48
+ border-bottom: 8px solid black;
49
+ }
50
+ body {
51
+ font-family: verdana, arial, helvetica;
52
+ }
53
+ div.footer {
54
+ font-size: 68%;
55
+ margin-top: 1.5em;
56
+ }
57
+ h1, h2, h3, h4, h5, h6 {
58
+ margin-bottom: 0.5em;
59
+ }
60
+ h5 {
61
+ margin-top: 0.5em;
62
+ }
63
+ .hidden {
64
+ display: none;
65
+ }
66
+ div.separator {
67
+ height: 10px;
68
+ }
69
+ /* Commented out for better readability, esp. on IE */
70
+ /*
71
+ table tr td, table tr th {
72
+ font-size: 68%;
73
+ }
74
+ td.value table tr td {
75
+ font-size: 11px;
76
+ }
77
+ */
78
+ table.percent_graph {
79
+ height: 12px;
80
+ border: #808080 1px solid;
81
+ empty-cells: show;
82
+ }
83
+ table.percent_graph td.covered {
84
+ height: 10px;
85
+ background: #00f000;
86
+ }
87
+ table.percent_graph td.uncovered {
88
+ height: 10px;
89
+ background: #e00000;
90
+ }
91
+ table.percent_graph td.NA {
92
+ height: 10px;
93
+ background: #eaeaea;
94
+ }
95
+ table.report {
96
+ border-collapse: collapse;
97
+ width: 100%;
98
+ }
99
+ table.report td.heading {
100
+ background: #dcecff;
101
+ border: #d0d0d0 1px solid;
102
+ font-weight: bold;
103
+ text-align: center;
104
+ }
105
+ table.report td.heading:hover {
106
+ background: #c0ffc0;
107
+ }
108
+ table.report td.text {
109
+ border: #d0d0d0 1px solid;
110
+ }
111
+ table.report td.value,
112
+ table.report td.lines_total,
113
+ table.report td.lines_code {
114
+ text-align: right;
115
+ border: #d0d0d0 1px solid;
116
+ }
117
+ table.report tr.light {
118
+ background-color: rgb(240, 240, 245);
119
+ }
120
+ table.report tr.dark {
121
+ background-color: rgb(230, 230, 235);
122
+ }
123
+ </style>
124
+ <script type='text/javascript'>
125
+ // <![CDATA[
126
+ function toggleCode( id ) {
127
+ if ( document.getElementById )
128
+ elem = document.getElementById( id );
129
+ else if ( document.all )
130
+ elem = eval( "document.all." + id );
131
+ else
132
+ return false;
133
+
134
+ elemStyle = elem.style;
135
+
136
+ if ( elemStyle.display != "block" ) {
137
+ elemStyle.display = "block"
138
+ } else {
139
+ elemStyle.display = "none"
140
+ }
141
+
142
+ return true;
143
+ }
144
+
145
+ // Make cross-references hidden by default
146
+ document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
147
+ // ]]>
148
+ </script>
149
+ <style type='text/css'>span.run0 {
150
+ background-color: rgb(178, 204, 255);
151
+ display: block;
152
+ }
153
+ span.run1 {
154
+ background-color: rgb(178, 206, 255);
155
+ display: block;
156
+ }
157
+ span.run2 {
158
+ background-color: rgb(178, 209, 255);
159
+ display: block;
160
+ }
161
+ span.run3 {
162
+ background-color: rgb(178, 211, 255);
163
+ display: block;
164
+ }
165
+ span.run4 {
166
+ background-color: rgb(178, 214, 255);
167
+ display: block;
168
+ }
169
+ span.run5 {
170
+ background-color: rgb(178, 218, 255);
171
+ display: block;
172
+ }
173
+ span.run6 {
174
+ background-color: rgb(178, 220, 255);
175
+ display: block;
176
+ }
177
+ span.run7 {
178
+ background-color: rgb(178, 223, 255);
179
+ display: block;
180
+ }
181
+ span.run8 {
182
+ background-color: rgb(178, 225, 255);
183
+ display: block;
184
+ }
185
+ span.run9 {
186
+ background-color: rgb(178, 228, 255);
187
+ display: block;
188
+ }
189
+ span.run10 {
190
+ background-color: rgb(178, 232, 255);
191
+ display: block;
192
+ }
193
+ span.run11 {
194
+ background-color: rgb(178, 234, 255);
195
+ display: block;
196
+ }
197
+ span.run12 {
198
+ background-color: rgb(178, 237, 255);
199
+ display: block;
200
+ }
201
+ span.run13 {
202
+ background-color: rgb(178, 239, 255);
203
+ display: block;
204
+ }
205
+ span.run14 {
206
+ background-color: rgb(178, 242, 255);
207
+ display: block;
208
+ }
209
+ span.run15 {
210
+ background-color: rgb(178, 246, 255);
211
+ display: block;
212
+ }
213
+ span.run16 {
214
+ background-color: rgb(178, 248, 255);
215
+ display: block;
216
+ }
217
+ span.run17 {
218
+ background-color: rgb(178, 251, 255);
219
+ display: block;
220
+ }
221
+ span.run18 {
222
+ background-color: rgb(178, 253, 255);
223
+ display: block;
224
+ }
225
+ span.run19 {
226
+ background-color: rgb(178, 255, 253);
227
+ display: block;
228
+ }
229
+ span.run20 {
230
+ background-color: rgb(178, 255, 249);
231
+ display: block;
232
+ }
233
+ span.run21 {
234
+ background-color: rgb(178, 255, 247);
235
+ display: block;
236
+ }
237
+ span.run22 {
238
+ background-color: rgb(178, 255, 244);
239
+ display: block;
240
+ }
241
+ span.run23 {
242
+ background-color: rgb(178, 255, 242);
243
+ display: block;
244
+ }
245
+ span.run24 {
246
+ background-color: rgb(178, 255, 239);
247
+ display: block;
248
+ }
249
+ span.run25 {
250
+ background-color: rgb(178, 255, 235);
251
+ display: block;
252
+ }
253
+ span.run26 {
254
+ background-color: rgb(178, 255, 233);
255
+ display: block;
256
+ }
257
+ span.run27 {
258
+ background-color: rgb(178, 255, 230);
259
+ display: block;
260
+ }
261
+ span.run28 {
262
+ background-color: rgb(178, 255, 228);
263
+ display: block;
264
+ }
265
+ span.run29 {
266
+ background-color: rgb(178, 255, 225);
267
+ display: block;
268
+ }
269
+ span.run30 {
270
+ background-color: rgb(178, 255, 221);
271
+ display: block;
272
+ }
273
+ span.run31 {
274
+ background-color: rgb(178, 255, 219);
275
+ display: block;
276
+ }
277
+ span.run32 {
278
+ background-color: rgb(178, 255, 216);
279
+ display: block;
280
+ }
281
+ span.run33 {
282
+ background-color: rgb(178, 255, 214);
283
+ display: block;
284
+ }
285
+ span.run34 {
286
+ background-color: rgb(178, 255, 211);
287
+ display: block;
288
+ }
289
+ span.run35 {
290
+ background-color: rgb(178, 255, 207);
291
+ display: block;
292
+ }
293
+ span.run36 {
294
+ background-color: rgb(178, 255, 205);
295
+ display: block;
296
+ }
297
+ span.run37 {
298
+ background-color: rgb(178, 255, 202);
299
+ display: block;
300
+ }
301
+ span.run38 {
302
+ background-color: rgb(178, 255, 200);
303
+ display: block;
304
+ }
305
+ span.run39 {
306
+ background-color: rgb(178, 255, 197);
307
+ display: block;
308
+ }
309
+ span.run40 {
310
+ background-color: rgb(178, 255, 193);
311
+ display: block;
312
+ }
313
+ span.run41 {
314
+ background-color: rgb(178, 255, 191);
315
+ display: block;
316
+ }
317
+ span.run42 {
318
+ background-color: rgb(178, 255, 188);
319
+ display: block;
320
+ }
321
+ span.run43 {
322
+ background-color: rgb(178, 255, 186);
323
+ display: block;
324
+ }
325
+ span.run44 {
326
+ background-color: rgb(178, 255, 183);
327
+ display: block;
328
+ }
329
+ span.run45 {
330
+ background-color: rgb(178, 255, 179);
331
+ display: block;
332
+ }
333
+ span.run46 {
334
+ background-color: rgb(179, 255, 178);
335
+ display: block;
336
+ }
337
+ span.run47 {
338
+ background-color: rgb(182, 255, 178);
339
+ display: block;
340
+ }
341
+ span.run48 {
342
+ background-color: rgb(184, 255, 178);
343
+ display: block;
344
+ }
345
+ span.run49 {
346
+ background-color: rgb(187, 255, 178);
347
+ display: block;
348
+ }
349
+ span.run50 {
350
+ background-color: rgb(191, 255, 178);
351
+ display: block;
352
+ }
353
+ span.run51 {
354
+ background-color: rgb(193, 255, 178);
355
+ display: block;
356
+ }
357
+ span.run52 {
358
+ background-color: rgb(196, 255, 178);
359
+ display: block;
360
+ }
361
+ span.run53 {
362
+ background-color: rgb(198, 255, 178);
363
+ display: block;
364
+ }
365
+ span.run54 {
366
+ background-color: rgb(201, 255, 178);
367
+ display: block;
368
+ }
369
+ span.run55 {
370
+ background-color: rgb(205, 255, 178);
371
+ display: block;
372
+ }
373
+ span.run56 {
374
+ background-color: rgb(207, 255, 178);
375
+ display: block;
376
+ }
377
+ span.run57 {
378
+ background-color: rgb(210, 255, 178);
379
+ display: block;
380
+ }
381
+ span.run58 {
382
+ background-color: rgb(212, 255, 178);
383
+ display: block;
384
+ }
385
+ span.run59 {
386
+ background-color: rgb(215, 255, 178);
387
+ display: block;
388
+ }
389
+ span.run60 {
390
+ background-color: rgb(219, 255, 178);
391
+ display: block;
392
+ }
393
+ span.run61 {
394
+ background-color: rgb(221, 255, 178);
395
+ display: block;
396
+ }
397
+ span.run62 {
398
+ background-color: rgb(224, 255, 178);
399
+ display: block;
400
+ }
401
+ span.run63 {
402
+ background-color: rgb(226, 255, 178);
403
+ display: block;
404
+ }
405
+ span.run64 {
406
+ background-color: rgb(229, 255, 178);
407
+ display: block;
408
+ }
409
+ span.run65 {
410
+ background-color: rgb(233, 255, 178);
411
+ display: block;
412
+ }
413
+ span.run66 {
414
+ background-color: rgb(235, 255, 178);
415
+ display: block;
416
+ }
417
+ span.run67 {
418
+ background-color: rgb(238, 255, 178);
419
+ display: block;
420
+ }
421
+ span.run68 {
422
+ background-color: rgb(240, 255, 178);
423
+ display: block;
424
+ }
425
+ span.run69 {
426
+ background-color: rgb(243, 255, 178);
427
+ display: block;
428
+ }
429
+ span.run70 {
430
+ background-color: rgb(247, 255, 178);
431
+ display: block;
432
+ }
433
+ span.run71 {
434
+ background-color: rgb(249, 255, 178);
435
+ display: block;
436
+ }
437
+ span.run72 {
438
+ background-color: rgb(252, 255, 178);
439
+ display: block;
440
+ }
441
+ span.run73 {
442
+ background-color: rgb(255, 255, 178);
443
+ display: block;
444
+ }
445
+ span.run74 {
446
+ background-color: rgb(255, 252, 178);
447
+ display: block;
448
+ }
449
+ span.run75 {
450
+ background-color: rgb(255, 248, 178);
451
+ display: block;
452
+ }
453
+ span.run76 {
454
+ background-color: rgb(255, 246, 178);
455
+ display: block;
456
+ }
457
+ span.run77 {
458
+ background-color: rgb(255, 243, 178);
459
+ display: block;
460
+ }
461
+ span.run78 {
462
+ background-color: rgb(255, 240, 178);
463
+ display: block;
464
+ }
465
+ span.run79 {
466
+ background-color: rgb(255, 238, 178);
467
+ display: block;
468
+ }
469
+ span.run80 {
470
+ background-color: rgb(255, 234, 178);
471
+ display: block;
472
+ }
473
+ span.run81 {
474
+ background-color: rgb(255, 232, 178);
475
+ display: block;
476
+ }
477
+ span.run82 {
478
+ background-color: rgb(255, 229, 178);
479
+ display: block;
480
+ }
481
+ span.run83 {
482
+ background-color: rgb(255, 226, 178);
483
+ display: block;
484
+ }
485
+ span.run84 {
486
+ background-color: rgb(255, 224, 178);
487
+ display: block;
488
+ }
489
+ span.run85 {
490
+ background-color: rgb(255, 220, 178);
491
+ display: block;
492
+ }
493
+ span.run86 {
494
+ background-color: rgb(255, 218, 178);
495
+ display: block;
496
+ }
497
+ span.run87 {
498
+ background-color: rgb(255, 215, 178);
499
+ display: block;
500
+ }
501
+ span.run88 {
502
+ background-color: rgb(255, 212, 178);
503
+ display: block;
504
+ }
505
+ span.run89 {
506
+ background-color: rgb(255, 210, 178);
507
+ display: block;
508
+ }
509
+ span.run90 {
510
+ background-color: rgb(255, 206, 178);
511
+ display: block;
512
+ }
513
+ span.run91 {
514
+ background-color: rgb(255, 204, 178);
515
+ display: block;
516
+ }
517
+ span.run92 {
518
+ background-color: rgb(255, 201, 178);
519
+ display: block;
520
+ }
521
+ span.run93 {
522
+ background-color: rgb(255, 198, 178);
523
+ display: block;
524
+ }
525
+ span.run94 {
526
+ background-color: rgb(255, 196, 178);
527
+ display: block;
528
+ }
529
+ span.run95 {
530
+ background-color: rgb(255, 192, 178);
531
+ display: block;
532
+ }
533
+ span.run96 {
534
+ background-color: rgb(255, 189, 178);
535
+ display: block;
536
+ }
537
+ span.run97 {
538
+ background-color: rgb(255, 187, 178);
539
+ display: block;
540
+ }
541
+ span.run98 {
542
+ background-color: rgb(255, 184, 178);
543
+ display: block;
544
+ }
545
+ span.run99 {
546
+ background-color: rgb(255, 182, 178);
547
+ display: block;
548
+ }
549
+ span.run100 {
550
+ background-color: rgb(255, 178, 178);
551
+ display: block;
552
+ }
553
+ </style>
554
+ </head>
555
+ <body><h3>C0 code coverage information</h3>
556
+ <p>Generated on Mon Nov 09 13:47:38 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
+ </p>
558
+ <hr/>
559
+ <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
560
+ </span><span class='marked1'>and this: this line is also marked as covered.
561
+ </span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
562
+ </span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
563
+ </span><span class='uncovered0'>Finally, here&apos;s a line marked as not executed.
564
+ </span></pre>
565
+ <table class='report'><thead><tr><td class='heading'>Name</td>
566
+ <td class='heading'>Total lines</td>
567
+ <td class='heading'>Lines of code</td>
568
+ <td class='heading'>Total coverage</td>
569
+ <td class='heading'>Code coverage</td>
570
+ </tr>
571
+ </thead>
572
+ <tbody><tr class='light'><td><a href='lib-xunit_rb.html'>lib/xunit.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>117</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>95</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>29.1%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='29'/>
581
+ <td class='uncovered' width='71'/>
582
+ </tr>
583
+ </table>
584
+ </td>
585
+ </tr>
586
+ </table>
587
+ </td>
588
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>18.9%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='19'/>
591
+ <td class='uncovered' width='81'/>
592
+ </tr>
593
+ </table>
594
+ </td>
595
+ </tr>
596
+ </table>
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table>
601
+ <pre><span class="marked0"><a name="line1"></a> 1 class XUnitTask &lt; Rake::TaskLib
602
+ </span><span class="marked1"><a name="line2"></a> 2 attr_accessor :suites_dir, :reports_dir, :options
603
+ </span><span class="inferred0"><a name="line3"></a> 3
604
+ </span><span class="marked1"><a name="line4"></a> 4 def initialize(params={}) # :yield: self
605
+ </span><span class="uncovered0"><a name="line5"></a> 5 @suites_dir = params[:suites_dir] || File.join(OUT_DIR, 'bin')
606
+ </span><span class="uncovered1"><a name="line6"></a> 6 @reports_dir = params[:reports_dir] || File.join(OUT_DIR, 'reports')
607
+ </span><span class="uncovered0"><a name="line7"></a> 7 @options = params[:options] || {}
608
+ </span><span class="uncovered1"><a name="line8"></a> 8 @deps = params[:deps] || []
609
+ </span><span class="uncovered0"><a name="line9"></a> 9
610
+ </span><span class="uncovered1"><a name="line10"></a> 10 yield self if block_given?
611
+ </span><span class="uncovered0"><a name="line11"></a> 11 define
612
+ </span><span class="uncovered1"><a name="line12"></a> 12 end
613
+ </span><span class="inferred0"><a name="line13"></a> 13
614
+ </span><span class="inferred1"><a name="line14"></a> 14 # Create the tasks defined by this task lib.
615
+ </span><span class="marked0"><a name="line15"></a> 15 def define
616
+ </span><span class="uncovered1"><a name="line16"></a> 16 @deps.each do |d|
617
+ </span><span class="uncovered0"><a name="line17"></a> 17 task :xunit =&gt; d
618
+ </span><span class="uncovered1"><a name="line18"></a> 18 end
619
+ </span><span class="uncovered0"><a name="line19"></a> 19
620
+ </span><span class="uncovered1"><a name="line20"></a> 20 rule(/#{@reports_dir}\/.*Tests.*\//) do |r|
621
+ </span><span class="uncovered0"><a name="line21"></a> 21 suite = r.name.match(/.*\/(.*Tests)\//)[1]
622
+ </span><span class="uncovered1"><a name="line22"></a> 22 testsDll = File.join(@suites_dir, suite + '.dll')
623
+ </span><span class="uncovered0"><a name="line23"></a> 23 out_dir = File.join(@reports_dir, suite)
624
+ </span><span class="uncovered1"><a name="line24"></a> 24 unless File.exist?(out_dir) &amp;&amp; uptodate?(testsDll, out_dir)
625
+ </span><span class="uncovered0"><a name="line25"></a> 25 mkdir_p(out_dir) unless File.exist?(out_dir)
626
+ </span><span class="uncovered1"><a name="line26"></a> 26 x = XUnitConsoleCmd.new(testsDll, out_dir, nil, options=@options)
627
+ </span><span class="uncovered0"><a name="line27"></a> 27 x.run
628
+ </span><span class="uncovered1"><a name="line28"></a> 28 end
629
+ </span><span class="uncovered0"><a name="line29"></a> 29 end
630
+ </span><span class="uncovered1"><a name="line30"></a> 30
631
+ </span><span class="uncovered0"><a name="line31"></a> 31 directory @reports_dir
632
+ </span><span class="uncovered1"><a name="line32"></a> 32
633
+ </span><span class="uncovered0"><a name="line33"></a> 33 desc &quot;Generate test reports (which ones, depends on the content of XUNIT_OPTS) inside of each directory specified, where each directory matches a test-suite name (give relative paths) (otherwise, all matching #{@suites_dir}/*Tests.*.dll) and write reports to #{@reports_dir}&quot;
634
+ </span><span class="uncovered1"><a name="line34"></a> 34 task :xunit, [:reports] =&gt; [@reports_dir] do |t, args|
635
+ </span><span class="uncovered0"><a name="line35"></a> 35 reports_list = FileList.new(&quot;#{@suites_dir}/**/*Tests*.dll&quot;).pathmap(&quot;#{@reports_dir}/%n/&quot;)
636
+ </span><span class="uncovered1"><a name="line36"></a> 36 args.with_defaults(:reports =&gt; reports_list)
637
+ </span><span class="uncovered0"><a name="line37"></a> 37 args.reports.each do |r|
638
+ </span><span class="uncovered1"><a name="line38"></a> 38 Rake::FileTask[r].invoke
639
+ </span><span class="uncovered0"><a name="line39"></a> 39 end
640
+ </span><span class="uncovered1"><a name="line40"></a> 40 end
641
+ </span><span class="uncovered0"><a name="line41"></a> 41
642
+ </span><span class="uncovered1"><a name="line42"></a> 42 task :xunit_clobber do
643
+ </span><span class="uncovered0"><a name="line43"></a> 43 rm_rf(@reports_dir)
644
+ </span><span class="uncovered1"><a name="line44"></a> 44 end
645
+ </span><span class="uncovered0"><a name="line45"></a> 45
646
+ </span><span class="uncovered1"><a name="line46"></a> 46 self
647
+ </span><span class="uncovered0"><a name="line47"></a> 47 end
648
+ </span><span class="uncovered1"><a name="line48"></a> 48 end
649
+ </span><span class="inferred0"><a name="line49"></a> 49
650
+ </span><span class="marked1"><a name="line50"></a> 50 class XUnitConsoleCmd
651
+ </span><span class="marked0"><a name="line51"></a> 51 attr_accessor :xunit, :test_dll, :reports_dir, :options
652
+ </span><span class="inferred1"><a name="line52"></a> 52
653
+ </span><span class="marked0"><a name="line53"></a> 53 def initialize(test_dll, reports_dir, xunit=nil, options={})
654
+ </span><span class="uncovered1"><a name="line54"></a> 54 x86exe = File.join(TOOLS_DIR, 'xunit', 'xunit.console.x86.exe')
655
+ </span><span class="uncovered0"><a name="line55"></a> 55 x64exe = File.join(TOOLS_DIR, 'xunit', 'xunit.console.exe')
656
+ </span><span class="uncovered1"><a name="line56"></a> 56 path_to_xunit = x64exe
657
+ </span><span class="uncovered0"><a name="line57"></a> 57 if File.exist? x86exe
658
+ </span><span class="uncovered1"><a name="line58"></a> 58 path_to_xunit = x86exe
659
+ </span><span class="uncovered0"><a name="line59"></a> 59 end
660
+ </span><span class="uncovered1"><a name="line60"></a> 60 @xunit = xunit || path_to_xunit
661
+ </span><span class="uncovered0"><a name="line61"></a> 61 @xunit = File.expand_path(@xunit)
662
+ </span><span class="uncovered1"><a name="line62"></a> 62 @test_dll = File.expand_path(test_dll)
663
+ </span><span class="uncovered0"><a name="line63"></a> 63 @reports_dir = File.expand_path(reports_dir)
664
+ </span><span class="uncovered1"><a name="line64"></a> 64 @options = options
665
+ </span><span class="uncovered0"><a name="line65"></a> 65 end
666
+ </span><span class="inferred1"><a name="line66"></a> 66
667
+ </span><span class="marked0"><a name="line67"></a> 67 def run
668
+ </span><span class="uncovered1"><a name="line68"></a> 68 test_dir = Pathname.new(test_dll).dirname
669
+ </span><span class="uncovered0"><a name="line69"></a> 69 chdir test_dir do
670
+ </span><span class="uncovered1"><a name="line70"></a> 70 puts cmd if VERBOSE
671
+ </span><span class="uncovered0"><a name="line71"></a> 71 sh cmd
672
+ </span><span class="uncovered1"><a name="line72"></a> 72 end
673
+ </span><span class="uncovered0"><a name="line73"></a> 73 end
674
+ </span><span class="inferred1"><a name="line74"></a> 74
675
+ </span><span class="marked0"><a name="line75"></a> 75 def cmd
676
+ </span><span class="uncovered1"><a name="line76"></a> 76 cmd = &quot;#{exe} #{test_dll} #{html} #{xml} #{nunit} #{wait} #{noshadow} #{teamcity}&quot;
677
+ </span><span class="uncovered0"><a name="line77"></a> 77 end
678
+ </span><span class="inferred1"><a name="line78"></a> 78
679
+ </span><span class="marked0"><a name="line79"></a> 79 def exe
680
+ </span><span class="uncovered1"><a name="line80"></a> 80 &quot;\&quot;#{@xunit}\&quot;&quot;
681
+ </span><span class="uncovered0"><a name="line81"></a> 81 end
682
+ </span><span class="inferred1"><a name="line82"></a> 82
683
+ </span><span class="marked0"><a name="line83"></a> 83 def suite
684
+ </span><span class="uncovered1"><a name="line84"></a> 84 @test_dll.match(/.*\/([\w\.]+)\.dll/)[1]
685
+ </span><span class="uncovered0"><a name="line85"></a> 85 end
686
+ </span><span class="inferred1"><a name="line86"></a> 86
687
+ </span><span class="marked0"><a name="line87"></a> 87 def test_dll
688
+ </span><span class="uncovered1"><a name="line88"></a> 88 &quot;\&quot;#{@test_dll}\&quot;&quot;.gsub('/', '\\')
689
+ </span><span class="uncovered0"><a name="line89"></a> 89 end
690
+ </span><span class="inferred1"><a name="line90"></a> 90
691
+ </span><span class="marked0"><a name="line91"></a> 91 def html
692
+ </span><span class="uncovered1"><a name="line92"></a> 92 path = &quot;#{@reports_dir}/#{suite}.test-results.html&quot;.gsub('/', '\\')
693
+ </span><span class="uncovered0"><a name="line93"></a> 93 &quot;/html \&quot;#{path}\&quot;&quot; if @options.has_key?(:html)
694
+ </span><span class="uncovered1"><a name="line94"></a> 94 end
695
+ </span><span class="inferred0"><a name="line95"></a> 95
696
+ </span><span class="marked1"><a name="line96"></a> 96 def xml
697
+ </span><span class="uncovered0"><a name="line97"></a> 97 path = &quot;#{@reports_dir}/#{suite}.test-results.xml&quot;.gsub('/', '\\')
698
+ </span><span class="uncovered1"><a name="line98"></a> 98 &quot;/xml \&quot;#{path}\&quot;&quot; if @options.has_key?(:xml)
699
+ </span><span class="uncovered0"><a name="line99"></a> 99 end
700
+ </span><span class="inferred1"><a name="line100"></a>100
701
+ </span><span class="marked0"><a name="line101"></a>101 def nunit
702
+ </span><span class="uncovered1"><a name="line102"></a>102 path = &quot;#{@reports_dir}/#{suite}.test-results.nunit.xml&quot;.gsub('/', '\\')
703
+ </span><span class="uncovered0"><a name="line103"></a>103 &quot;/nunit \&quot;#{path}\&quot;&quot; if @options.has_key?(:nunit)
704
+ </span><span class="uncovered1"><a name="line104"></a>104 end
705
+ </span><span class="inferred0"><a name="line105"></a>105
706
+ </span><span class="marked1"><a name="line106"></a>106 def wait
707
+ </span><span class="uncovered0"><a name="line107"></a>107 '/wait' if @options.has_key?(:wait)
708
+ </span><span class="uncovered1"><a name="line108"></a>108 end
709
+ </span><span class="inferred0"><a name="line109"></a>109
710
+ </span><span class="marked1"><a name="line110"></a>110 def noshadow
711
+ </span><span class="uncovered0"><a name="line111"></a>111 '/noshadow' if @options.has_key?(:noshadow)
712
+ </span><span class="uncovered1"><a name="line112"></a>112 end
713
+ </span><span class="inferred0"><a name="line113"></a>113
714
+ </span><span class="marked1"><a name="line114"></a>114 def teamcity
715
+ </span><span class="uncovered0"><a name="line115"></a>115 '/teamcity' if @options.has_key?(:teamcity)
716
+ </span><span class="uncovered1"><a name="line116"></a>116 end
717
+ </span><span class="uncovered0"><a name="line117"></a>117 end
718
+ </span></pre><hr/>
719
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
720
+ version 0.8.1.2.</p>
721
+ <p><a href='http://validator.w3.org/check/referer'><img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88'/>
722
+ </a>
723
+ <a href='http://jigsaw.w3.org/css-validator/check/referer'><img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px'/>
724
+ </a>
725
+ </p>
726
+ </body>
727
+ </html>