rake-dotnet 0.1.18 → 0.1.19

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,7 @@
1
+ === 0.1.19 / 2009-11-26
2
+
3
+ CHANGE: NCover - Don't allow NCover to profile IIS by default-auto-detection
4
+
1
5
  === 0.1.18 / 2009-11-26
2
6
 
3
7
  CHANGE: NCover - support regular license-holders by removing automatic use of features that require complete license
@@ -6,7 +6,7 @@ require 'Pathname'
6
6
  require 'rake/clean'
7
7
 
8
8
  Hoe.spec 'rake-dotnet' do |p|
9
- p.version = '0.1.18'
9
+ p.version = '0.1.19'
10
10
  p.author = 'Peter Mounce'
11
11
  p.description = 'Making a .NET build-automation dev\'s life easier, one angle-bracket at a time'
12
12
  p.email = 'public@neverrunwithscissors.com'
@@ -148,7 +148,7 @@ table.report tr.dark {
148
148
  </script>
149
149
  </head>
150
150
  <body><h3>C0 code coverage information</h3>
151
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
151
+ <p>Generated on Thu Nov 26 17:01:42 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
152
152
  </p>
153
153
  <hr/>
154
154
  <table class='report'><thead><tr><td class='heading'>Name</td>
@@ -159,9 +159,9 @@ table.report tr.dark {
159
159
  </tr>
160
160
  </thead>
161
161
  <tbody><tr class='light'><td>TOTAL</td>
162
- <td class='lines_total'><tt>1267</tt>
162
+ <td class='lines_total'><tt>1268</tt>
163
163
  </td>
164
- <td class='lines_code'><tt>1049</tt>
164
+ <td class='lines_code'><tt>1050</tt>
165
165
  </td>
166
166
  <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>37.1%</tt>
167
167
  &nbsp;</td>
@@ -375,21 +375,21 @@ table.report tr.dark {
375
375
  </tr>
376
376
  <tr class='light'><td><a href='lib-ncover_rb.html'>lib/ncover.rb</a>
377
377
  </td>
378
- <td class='lines_total'><tt>204</tt>
378
+ <td class='lines_total'><tt>205</tt>
379
379
  </td>
380
- <td class='lines_code'><tt>168</tt>
380
+ <td class='lines_code'><tt>169</tt>
381
381
  </td>
382
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>20.6%</tt>
382
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>20.5%</tt>
383
383
  &nbsp;</td>
384
- <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='21'/>
385
- <td class='uncovered' width='79'/>
384
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='20'/>
385
+ <td class='uncovered' width='80'/>
386
386
  </tr>
387
387
  </table>
388
388
  </td>
389
389
  </tr>
390
390
  </table>
391
391
  </td>
392
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>13.7%</tt>
392
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>13.6%</tt>
393
393
  &nbsp;</td>
394
394
  <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='14'/>
395
395
  <td class='uncovered' width='86'/>
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -553,7 +553,7 @@ span.run100 {
553
553
  </style>
554
554
  </head>
555
555
  <body><h3>C0 code coverage information</h3>
556
- <p>Generated on Thu Nov 26 13:59:06 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
556
+ <p>Generated on Thu Nov 26 17:01:43 +0000 2009 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
557
557
  </p>
558
558
  <hr/>
559
559
  <pre><span class='marked0'>Code reported as executed by Ruby looks like this...
@@ -571,21 +571,21 @@ span.run100 {
571
571
  </thead>
572
572
  <tbody><tr class='light'><td><a href='lib-ncover_rb.html'>lib/ncover.rb</a>
573
573
  </td>
574
- <td class='lines_total'><tt>204</tt>
574
+ <td class='lines_total'><tt>205</tt>
575
575
  </td>
576
- <td class='lines_code'><tt>168</tt>
576
+ <td class='lines_code'><tt>169</tt>
577
577
  </td>
578
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>20.6%</tt>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>20.5%</tt>
579
579
  &nbsp;</td>
580
- <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='21'/>
581
- <td class='uncovered' width='79'/>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='20'/>
581
+ <td class='uncovered' width='80'/>
582
582
  </tr>
583
583
  </table>
584
584
  </td>
585
585
  </tr>
586
586
  </table>
587
587
  </td>
588
- <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>13.7%</tt>
588
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>13.6%</tt>
589
589
  &nbsp;</td>
590
590
  <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='14'/>
591
591
  <td class='uncovered' width='86'/>
@@ -607,201 +607,202 @@ span.run100 {
607
607
  </span><span class="uncovered1"><a name="line7"></a> 7 @report_dir = params[:report_dir] || File.join(OUT_DIR, 'reports', 'ncover')
608
608
  </span><span class="uncovered0"><a name="line8"></a> 8 @deps = params[:deps] || []
609
609
  </span><span class="uncovered1"><a name="line9"></a> 9 tool_defaults = {:arch =&gt; ENV['PROCESSOR_ARCHITECTURE']}
610
- </span><span class="uncovered0"><a name="line10"></a> 10 @profile_options = tool_defaults.merge(params[:profile_options] || {})
611
- </span><span class="uncovered1"><a name="line11"></a> 11 @reporting_options = tool_defaults.merge(params[:reporting_options] || {})
612
- </span><span class="uncovered0"><a name="line12"></a> 12
613
- </span><span class="uncovered1"><a name="line13"></a> 13 yield self if block_given?
614
- </span><span class="uncovered0"><a name="line14"></a> 14 define
615
- </span><span class="uncovered1"><a name="line15"></a> 15 end
616
- </span><span class="inferred0"><a name="line16"></a> 16
617
- </span><span class="marked1"><a name="line17"></a> 17 def define
618
- </span><span class="uncovered0"><a name="line18"></a> 18 @deps.each do |d|
619
- </span><span class="uncovered1"><a name="line19"></a> 19 task :ncover_profile =&gt; d
620
- </span><span class="uncovered0"><a name="line20"></a> 20 end
621
- </span><span class="uncovered1"><a name="line21"></a> 21
622
- </span><span class="uncovered0"><a name="line22"></a> 22 directory @report_dir
623
- </span><span class="uncovered1"><a name="line23"></a> 23
624
- </span><span class="uncovered0"><a name="line24"></a> 24 reports_dir_regex = RakeDotNet::regexify(@report_dir)
625
- </span><span class="uncovered1"><a name="line25"></a> 25 rule(/#{reports_dir_regex}\/.*\.coverage\.xml/) do |r|
626
- </span><span class="uncovered0"><a name="line26"></a> 26 dll_to_execute = r.name.sub(/#{@report_dir}\/(.*)\.coverage\.xml/, &quot;#{@bin_dir}/\\1.dll&quot;)
627
- </span><span class="uncovered1"><a name="line27"></a> 27 if (shouldProfileIis(dll_to_execute))
628
- </span><span class="uncovered0"><a name="line28"></a> 28 @profile_options[:profile_iis] = true
629
- </span><span class="uncovered1"><a name="line29"></a> 29 end
630
- </span><span class="uncovered0"><a name="line30"></a> 30 nc = NCoverConsoleCmd.new(@report_dir, dll_to_execute, @profile_options)
631
- </span><span class="uncovered1"><a name="line31"></a> 31 nc.run
632
- </span><span class="uncovered0"><a name="line32"></a> 32 end
633
- </span><span class="uncovered1"><a name="line33"></a> 33
634
- </span><span class="uncovered0"><a name="line34"></a> 34 def shouldProfileIis(dll)
635
- </span><span class="uncovered1"><a name="line35"></a> 35 dll = dll.downcase
636
- </span><span class="uncovered0"><a name="line36"></a> 36 return true if dll.include? 'functional'
637
- </span><span class="uncovered1"><a name="line37"></a> 37 return true if dll.include? 'browser'
638
- </span><span class="uncovered0"><a name="line38"></a> 38 return true if dll.include? 'selenium'
639
- </span><span class="uncovered1"><a name="line39"></a> 39 return true if dll.include? 'watin'
640
- </span><span class="uncovered0"><a name="line40"></a> 40 return false
641
- </span><span class="uncovered1"><a name="line41"></a> 41 end
642
- </span><span class="uncovered0"><a name="line42"></a> 42
643
- </span><span class="uncovered1"><a name="line43"></a> 43 desc &quot;Generate ncover coverage XML, one file per test-suite that exercises your product&quot;
644
- </span><span class="uncovered0"><a name="line44"></a> 44 task :ncover_profile, [:dlls_to_run] =&gt; [@report_dir] do |t, args|
645
- </span><span class="uncovered1"><a name="line45"></a> 45 dlls_to_run_list = FileList.new
646
- </span><span class="uncovered0"><a name="line46"></a> 46 dlls_to_run_list.include(&quot;#{@bin_dir}/**/*#{@product_name}*Tests*.dll&quot;)
647
- </span><span class="uncovered1"><a name="line47"></a> 47 dlls_to_run_list.include(&quot;#{@bin_dir}/**/*#{@product_name}*Tests*.exe&quot;)
648
- </span><span class="uncovered0"><a name="line48"></a> 48 args.with_defaults(:dlls_to_run =&gt; dlls_to_run_list)
649
- </span><span class="uncovered1"><a name="line49"></a> 49 args.dlls_to_run.each do |d|
650
- </span><span class="uncovered0"><a name="line50"></a> 50 dll_to_run = Pathname.new(d)
651
- </span><span class="uncovered1"><a name="line51"></a> 51 cf_name = dll_to_run.basename.sub(dll_to_run.extname, '.coverage.xml')
652
- </span><span class="uncovered0"><a name="line52"></a> 52 coverage_file = File.join(@report_dir, cf_name)
653
- </span><span class="uncovered1"><a name="line53"></a> 53 Rake::FileTask[coverage_file].invoke
654
- </span><span class="uncovered0"><a name="line54"></a> 54 end
655
- </span><span class="uncovered1"><a name="line55"></a> 55 end
656
- </span><span class="uncovered0"><a name="line56"></a> 56
657
- </span><span class="uncovered1"><a name="line57"></a> 57 rule(/#{reports_dir_regex}\/.*\//) do |report_set|
658
- </span><span class="uncovered0"><a name="line58"></a> 58 set_name = report_set.name.match(/#{reports_dir_regex}\/(.*)\//)[1]
659
- </span><span class="uncovered1"><a name="line59"></a> 59 profile_xml = File.join(@report_dir, &quot;#{set_name}.coverage.xml&quot;)
660
- </span><span class="uncovered0"><a name="line60"></a> 60 mkdir_p report_set.name
661
- </span><span class="uncovered1"><a name="line61"></a> 61 @reporting_options[:project_name] = set_name
662
- </span><span class="uncovered0"><a name="line62"></a> 62 ncr = NCoverReportingCmd.new(report_set.name, profile_xml, @reporting_options)
663
- </span><span class="uncovered1"><a name="line63"></a> 63 ncr.run
664
- </span><span class="uncovered0"><a name="line64"></a> 64 end
665
- </span><span class="uncovered1"><a name="line65"></a> 65
666
- </span><span class="uncovered0"><a name="line66"></a> 66 desc &quot;Generate ncover coverage report(s), on all coverage files&quot;
667
- </span><span class="uncovered1"><a name="line67"></a> 67 task :ncover_reports =&gt; [:ncover_profile] do
668
- </span><span class="uncovered0"><a name="line68"></a> 68 report_sets = FileList.new(&quot;#{@report_dir}/**/*.coverage.xml&quot;)
669
- </span><span class="uncovered1"><a name="line69"></a> 69 report_sets.each do |set|
670
- </span><span class="uncovered0"><a name="line70"></a> 70 cov_report = set.sub('.coverage.xml', '/')
671
- </span><span class="uncovered1"><a name="line71"></a> 71 Rake::FileTask[cov_report].invoke
672
- </span><span class="uncovered0"><a name="line72"></a> 72 end
673
- </span><span class="uncovered1"><a name="line73"></a> 73 end
674
- </span><span class="uncovered0"><a name="line74"></a> 74
675
- </span><span class="uncovered1"><a name="line75"></a> 75 task :clobber_ncover do
676
- </span><span class="uncovered0"><a name="line76"></a> 76 rm_rf @report_dir
677
- </span><span class="uncovered1"><a name="line77"></a> 77 end
678
- </span><span class="uncovered0"><a name="line78"></a> 78
679
- </span><span class="uncovered1"><a name="line79"></a> 79 self
680
- </span><span class="uncovered0"><a name="line80"></a> 80 end
681
- </span><span class="uncovered1"><a name="line81"></a> 81 end
682
- </span><span class="inferred0"><a name="line82"></a> 82
683
- </span><span class="marked1"><a name="line83"></a> 83 class NCoverConsoleCmd
684
- </span><span class="marked0"><a name="line84"></a> 84 def initialize(report_dir, dll_to_execute, params)
685
- </span><span class="uncovered1"><a name="line85"></a> 85 params ||= {}
686
- </span><span class="uncovered0"><a name="line86"></a> 86 arch = params[:arch] || ENV['PROCESSOR_ARCHITECTURE']
687
- </span><span class="uncovered1"><a name="line87"></a> 87 @exe = params[:ncover_exe] || File.join(TOOLS_DIR, 'ncover', arch, 'ncover.console.exe')
688
- </span><span class="uncovered0"><a name="line88"></a> 88 @dll_to_execute = dll_to_execute
689
- </span><span class="uncovered1"><a name="line89"></a> 89 ofname = File.split(dll_to_execute)[1].sub(/(\.dll)/, '') + '.coverage.xml'
690
- </span><span class="uncovered0"><a name="line90"></a> 90 @output_file = File.join(report_dir, ofname)
691
- </span><span class="uncovered1"><a name="line91"></a> 91
692
- </span><span class="uncovered0"><a name="line92"></a> 92 @exclude_assemblies_regex = params[:exclude_assemblies_regex] || ['.*Tests.*']
693
- </span><span class="uncovered1"><a name="line93"></a> 93 @exclude_assemblies_regex.push('ISymWrapper')
694
- </span><span class="uncovered0"><a name="line94"></a> 94
695
- </span><span class="uncovered1"><a name="line95"></a> 95 @profile_iis = params[:profile_iis] || false
696
- </span><span class="uncovered0"><a name="line96"></a> 96 @working_dir = params[:working_dir] || Pathname.new(@dll_to_execute).dirname
697
- </span><span class="uncovered1"><a name="line97"></a> 97
698
- </span><span class="uncovered0"><a name="line98"></a> 98 @is_complete_version = `#{@exe}`.include?('NCover Complete v')
699
- </span><span class="uncovered1"><a name="line99"></a> 99 end
700
- </span><span class="inferred0"><a name="line100"></a>100
701
- </span><span class="marked1"><a name="line101"></a>101 def cmdToRun
702
- </span><span class="uncovered0"><a name="line102"></a>102 x = XUnitConsoleCmd.new(@dll_to_execute, '', nil, {})
703
- </span><span class="uncovered1"><a name="line103"></a>103 x.cmd
704
- </span><span class="uncovered0"><a name="line104"></a>104 end
705
- </span><span class="inferred1"><a name="line105"></a>105
706
- </span><span class="marked0"><a name="line106"></a>106 def bi
707
- </span><span class="uncovered1"><a name="line107"></a>107 return &quot;//bi #{Versioner.new.get.to_s}&quot;
708
- </span><span class="uncovered0"><a name="line108"></a>108 end
709
- </span><span class="inferred1"><a name="line109"></a>109
710
- </span><span class="marked0"><a name="line110"></a>110 def working_dir
711
- </span><span class="uncovered1"><a name="line111"></a>111 return &quot;//w #{@working_dir}&quot;
712
- </span><span class="uncovered0"><a name="line112"></a>112 end
713
- </span><span class="inferred1"><a name="line113"></a>113
714
- </span><span class="marked0"><a name="line114"></a>114 def iis
715
- </span><span class="uncovered1"><a name="line115"></a>115 return '' unless @is_complete_version
716
- </span><span class="uncovered0"><a name="line116"></a>116 return &quot;//iis&quot; if @profile_iis
717
- </span><span class="uncovered1"><a name="line117"></a>117 end
718
- </span><span class="inferred0"><a name="line118"></a>118
719
- </span><span class="marked1"><a name="line119"></a>119 def exclude_assemblies
720
- </span><span class="uncovered0"><a name="line120"></a>120 return '' unless @is_complete_version
721
- </span><span class="uncovered1"><a name="line121"></a>121 if @exclude_assemblies_regex.instance_of?(Array) &amp;&amp; @exclude_assemblies_regex.length &gt; 0
722
- </span><span class="uncovered0"><a name="line122"></a>122 return '//eas ' + @exclude_assemblies_regex.join(';')
723
- </span><span class="uncovered1"><a name="line123"></a>123 end
724
- </span><span class="uncovered0"><a name="line124"></a>124 return '//eas ' + @exclude_assemblies_regex if @exclude_assemblies_regex.instance_of?(String)
725
- </span><span class="uncovered1"><a name="line125"></a>125 return ''
726
- </span><span class="uncovered0"><a name="line126"></a>126 end
727
- </span><span class="inferred1"><a name="line127"></a>127
728
- </span><span class="marked0"><a name="line128"></a>128 def cmd
729
- </span><span class="uncovered1"><a name="line129"></a>129 &quot;\&quot;#{@exe}\&quot; #{cmdToRun} //x #{@output_file} #{exclude_assemblies} #{bi} #{working_dir} #{iis}&quot;
730
- </span><span class="uncovered0"><a name="line130"></a>130 end
731
- </span><span class="inferred1"><a name="line131"></a>131
732
- </span><span class="marked0"><a name="line132"></a>132 def run
733
- </span><span class="uncovered1"><a name="line133"></a>133 puts cmd if VERBOSE
734
- </span><span class="uncovered0"><a name="line134"></a>134 sh cmd
735
- </span><span class="uncovered1"><a name="line135"></a>135 end
736
- </span><span class="uncovered0"><a name="line136"></a>136 end
737
- </span><span class="inferred1"><a name="line137"></a>137
738
- </span><span class="marked0"><a name="line138"></a>138 class NCoverReportingCmd
739
- </span><span class="marked1"><a name="line139"></a>139 def initialize(report_dir, coverage_files, params)
740
- </span><span class="uncovered0"><a name="line140"></a>140 @report_dir = report_dir
741
- </span><span class="uncovered1"><a name="line141"></a>141 @coverage_files = coverage_files || []
742
- </span><span class="uncovered0"><a name="line142"></a>142
743
- </span><span class="uncovered1"><a name="line143"></a>143 params ||= {}
744
- </span><span class="uncovered0"><a name="line144"></a>144 arch = params[:arch] || ENV['PROCESSOR_ARCHITECTURE']
745
- </span><span class="uncovered1"><a name="line145"></a>145 @exe = params[:ncover_reporting_exe] || File.join(TOOLS_DIR, 'ncover', arch, 'ncover.reporting.exe')
746
- </span><span class="uncovered0"><a name="line146"></a>146
747
- </span><span class="uncovered1"><a name="line147"></a>147 @is_complete_version = `#{@exe}`.include?('NCover Reporting Complete v')
748
- </span><span class="uncovered0"><a name="line148"></a>148 # required
749
- </span><span class="uncovered1"><a name="line149"></a>149 @reports = params[:reports] || ['Summary', 'UncoveredCodeSections', 'FullCoverageReport']
750
- </span><span class="uncovered0"><a name="line150"></a>150 @output_path = File.join(@report_dir)
751
- </span><span class="uncovered1"><a name="line151"></a>151
752
- </span><span class="uncovered0"><a name="line152"></a>152 # optional
753
- </span><span class="uncovered1"><a name="line153"></a>153 @sort_order = params[:sort] || 'CoveragePercentageAscending'
754
- </span><span class="uncovered0"><a name="line154"></a>154 @project_name = params[:project_name] || PRODUCT_NAME
755
- </span><span class="uncovered1"><a name="line155"></a>155 end
756
- </span><span class="inferred0"><a name="line156"></a>156
757
- </span><span class="marked1"><a name="line157"></a>157 def coverage_files
758
- </span><span class="uncovered0"><a name="line158"></a>158 list = ''
759
- </span><span class="uncovered1"><a name="line159"></a>159 @coverage_files.each do |cf|
760
- </span><span class="uncovered0"><a name="line160"></a>160 list += &quot;\&quot;#{cf}\&quot; &quot;
761
- </span><span class="uncovered1"><a name="line161"></a>161 end
762
- </span><span class="uncovered0"><a name="line162"></a>162 return list
763
- </span><span class="uncovered1"><a name="line163"></a>163 end
764
- </span><span class="inferred0"><a name="line164"></a>164
765
- </span><span class="marked1"><a name="line165"></a>165 def build_id
766
- </span><span class="uncovered0"><a name="line166"></a>166 return &quot;//bi #{Versioner.new.get.to_s}&quot;
767
- </span><span class="uncovered1"><a name="line167"></a>167 end
768
- </span><span class="inferred0"><a name="line168"></a>168
769
- </span><span class="marked1"><a name="line169"></a>169 def output_reports
770
- </span><span class="uncovered0"><a name="line170"></a>170 cmd = ''
771
- </span><span class="uncovered1"><a name="line171"></a>171 if @is_complete_version
772
- </span><span class="uncovered0"><a name="line172"></a>172 @reports.each do |r|
773
- </span><span class="uncovered1"><a name="line173"></a>173 cmd += &quot;//or #{r}&quot;
774
- </span><span class="uncovered0"><a name="line174"></a>174 end
775
- </span><span class="uncovered1"><a name="line175"></a>175 else
776
- </span><span class="uncovered0"><a name="line176"></a>176 classic_version_reports_allowed = ['Summary', 'SymbolModule', 'SymbolModuleNamespace', 'SymbolModuleNamespaceClass', 'SymbolModuleNamespaceClassMethod']
777
- </span><span class="uncovered1"><a name="line177"></a>177 @reports.each do |r|
778
- </span><span class="uncovered0"><a name="line178"></a>178 cmd += &quot;//or #{r} &quot; if classic_version_reports_allowed.include?(r)
779
- </span><span class="uncovered1"><a name="line179"></a>179 end
780
- </span><span class="uncovered0"><a name="line180"></a>180 end
781
- </span><span class="uncovered1"><a name="line181"></a>181 return cmd
782
- </span><span class="uncovered0"><a name="line182"></a>182 end
783
- </span><span class="inferred1"><a name="line183"></a>183
784
- </span><span class="marked0"><a name="line184"></a>184 def output_path
785
- </span><span class="uncovered1"><a name="line185"></a>185 return &quot;//op \&quot;#{@output_path}\&quot;&quot;
786
- </span><span class="uncovered0"><a name="line186"></a>186 end
787
- </span><span class="inferred1"><a name="line187"></a>187
788
- </span><span class="marked0"><a name="line188"></a>188 def sort_order
789
- </span><span class="uncovered1"><a name="line189"></a>189 return &quot;//so #{@sort_order}&quot;
790
- </span><span class="uncovered0"><a name="line190"></a>190 end
791
- </span><span class="inferred1"><a name="line191"></a>191
792
- </span><span class="marked0"><a name="line192"></a>192 def project_name
793
- </span><span class="uncovered1"><a name="line193"></a>193 return &quot;//p #{@project_name}&quot; unless @project_name.nil?
794
- </span><span class="uncovered0"><a name="line194"></a>194 end
795
- </span><span class="inferred1"><a name="line195"></a>195
796
- </span><span class="marked0"><a name="line196"></a>196 def cmd
797
- </span><span class="uncovered1"><a name="line197"></a>197 return &quot;\&quot;#{@exe}\&quot; #{coverage_files} #{build_id} #{output_reports} #{output_path} #{sort_order} #{project_name}&quot;
798
- </span><span class="uncovered0"><a name="line198"></a>198 end
799
- </span><span class="inferred1"><a name="line199"></a>199
800
- </span><span class="marked0"><a name="line200"></a>200 def run
801
- </span><span class="uncovered1"><a name="line201"></a>201 puts cmd if VERBOSE
802
- </span><span class="uncovered0"><a name="line202"></a>202 sh cmd
803
- </span><span class="uncovered1"><a name="line203"></a>203 end
804
- </span><span class="uncovered0"><a name="line204"></a>204 end
610
+ </span><span class="uncovered0"><a name="line10"></a> 10 @allow_iis_profiling = params[:allow_iis_profiling] || false
611
+ </span><span class="uncovered1"><a name="line11"></a> 11 @profile_options = tool_defaults.merge(params[:profile_options] || {})
612
+ </span><span class="uncovered0"><a name="line12"></a> 12 @reporting_options = tool_defaults.merge(params[:reporting_options] || {})
613
+ </span><span class="uncovered1"><a name="line13"></a> 13
614
+ </span><span class="uncovered0"><a name="line14"></a> 14 yield self if block_given?
615
+ </span><span class="uncovered1"><a name="line15"></a> 15 define
616
+ </span><span class="uncovered0"><a name="line16"></a> 16 end
617
+ </span><span class="inferred1"><a name="line17"></a> 17
618
+ </span><span class="marked0"><a name="line18"></a> 18 def define
619
+ </span><span class="uncovered1"><a name="line19"></a> 19 @deps.each do |d|
620
+ </span><span class="uncovered0"><a name="line20"></a> 20 task :ncover_profile =&gt; d
621
+ </span><span class="uncovered1"><a name="line21"></a> 21 end
622
+ </span><span class="uncovered0"><a name="line22"></a> 22
623
+ </span><span class="uncovered1"><a name="line23"></a> 23 directory @report_dir
624
+ </span><span class="uncovered0"><a name="line24"></a> 24
625
+ </span><span class="uncovered1"><a name="line25"></a> 25 reports_dir_regex = RakeDotNet::regexify(@report_dir)
626
+ </span><span class="uncovered0"><a name="line26"></a> 26 rule(/#{reports_dir_regex}\/.*\.coverage\.xml/) do |r|
627
+ </span><span class="uncovered1"><a name="line27"></a> 27 dll_to_execute = r.name.sub(/#{@report_dir}\/(.*)\.coverage\.xml/, &quot;#{@bin_dir}/\\1.dll&quot;)
628
+ </span><span class="uncovered0"><a name="line28"></a> 28 if (shouldProfileIis(dll_to_execute))
629
+ </span><span class="uncovered1"><a name="line29"></a> 29 @profile_options[:profile_iis] = @allow_iis_profiling
630
+ </span><span class="uncovered0"><a name="line30"></a> 30 end
631
+ </span><span class="uncovered1"><a name="line31"></a> 31 nc = NCoverConsoleCmd.new(@report_dir, dll_to_execute, @profile_options)
632
+ </span><span class="uncovered0"><a name="line32"></a> 32 nc.run
633
+ </span><span class="uncovered1"><a name="line33"></a> 33 end
634
+ </span><span class="uncovered0"><a name="line34"></a> 34
635
+ </span><span class="uncovered1"><a name="line35"></a> 35 def shouldProfileIis(dll)
636
+ </span><span class="uncovered0"><a name="line36"></a> 36 dll = dll.downcase
637
+ </span><span class="uncovered1"><a name="line37"></a> 37 return true if dll.include? 'functional'
638
+ </span><span class="uncovered0"><a name="line38"></a> 38 return true if dll.include? 'browser'
639
+ </span><span class="uncovered1"><a name="line39"></a> 39 return true if dll.include? 'selenium'
640
+ </span><span class="uncovered0"><a name="line40"></a> 40 return true if dll.include? 'watin'
641
+ </span><span class="uncovered1"><a name="line41"></a> 41 return false
642
+ </span><span class="uncovered0"><a name="line42"></a> 42 end
643
+ </span><span class="uncovered1"><a name="line43"></a> 43
644
+ </span><span class="uncovered0"><a name="line44"></a> 44 desc &quot;Generate ncover coverage XML, one file per test-suite that exercises your product&quot;
645
+ </span><span class="uncovered1"><a name="line45"></a> 45 task :ncover_profile, [:dlls_to_run] =&gt; [@report_dir] do |t, args|
646
+ </span><span class="uncovered0"><a name="line46"></a> 46 dlls_to_run_list = FileList.new
647
+ </span><span class="uncovered1"><a name="line47"></a> 47 dlls_to_run_list.include(&quot;#{@bin_dir}/**/*#{@product_name}*Tests*.dll&quot;)
648
+ </span><span class="uncovered0"><a name="line48"></a> 48 dlls_to_run_list.include(&quot;#{@bin_dir}/**/*#{@product_name}*Tests*.exe&quot;)
649
+ </span><span class="uncovered1"><a name="line49"></a> 49 args.with_defaults(:dlls_to_run =&gt; dlls_to_run_list)
650
+ </span><span class="uncovered0"><a name="line50"></a> 50 args.dlls_to_run.each do |d|
651
+ </span><span class="uncovered1"><a name="line51"></a> 51 dll_to_run = Pathname.new(d)
652
+ </span><span class="uncovered0"><a name="line52"></a> 52 cf_name = dll_to_run.basename.sub(dll_to_run.extname, '.coverage.xml')
653
+ </span><span class="uncovered1"><a name="line53"></a> 53 coverage_file = File.join(@report_dir, cf_name)
654
+ </span><span class="uncovered0"><a name="line54"></a> 54 Rake::FileTask[coverage_file].invoke
655
+ </span><span class="uncovered1"><a name="line55"></a> 55 end
656
+ </span><span class="uncovered0"><a name="line56"></a> 56 end
657
+ </span><span class="uncovered1"><a name="line57"></a> 57
658
+ </span><span class="uncovered0"><a name="line58"></a> 58 rule(/#{reports_dir_regex}\/.*\//) do |report_set|
659
+ </span><span class="uncovered1"><a name="line59"></a> 59 set_name = report_set.name.match(/#{reports_dir_regex}\/(.*)\//)[1]
660
+ </span><span class="uncovered0"><a name="line60"></a> 60 profile_xml = File.join(@report_dir, &quot;#{set_name}.coverage.xml&quot;)
661
+ </span><span class="uncovered1"><a name="line61"></a> 61 mkdir_p report_set.name
662
+ </span><span class="uncovered0"><a name="line62"></a> 62 @reporting_options[:project_name] = set_name
663
+ </span><span class="uncovered1"><a name="line63"></a> 63 ncr = NCoverReportingCmd.new(report_set.name, profile_xml, @reporting_options)
664
+ </span><span class="uncovered0"><a name="line64"></a> 64 ncr.run
665
+ </span><span class="uncovered1"><a name="line65"></a> 65 end
666
+ </span><span class="uncovered0"><a name="line66"></a> 66
667
+ </span><span class="uncovered1"><a name="line67"></a> 67 desc &quot;Generate ncover coverage report(s), on all coverage files&quot;
668
+ </span><span class="uncovered0"><a name="line68"></a> 68 task :ncover_reports =&gt; [:ncover_profile] do
669
+ </span><span class="uncovered1"><a name="line69"></a> 69 report_sets = FileList.new(&quot;#{@report_dir}/**/*.coverage.xml&quot;)
670
+ </span><span class="uncovered0"><a name="line70"></a> 70 report_sets.each do |set|
671
+ </span><span class="uncovered1"><a name="line71"></a> 71 cov_report = set.sub('.coverage.xml', '/')
672
+ </span><span class="uncovered0"><a name="line72"></a> 72 Rake::FileTask[cov_report].invoke
673
+ </span><span class="uncovered1"><a name="line73"></a> 73 end
674
+ </span><span class="uncovered0"><a name="line74"></a> 74 end
675
+ </span><span class="uncovered1"><a name="line75"></a> 75
676
+ </span><span class="uncovered0"><a name="line76"></a> 76 task :clobber_ncover do
677
+ </span><span class="uncovered1"><a name="line77"></a> 77 rm_rf @report_dir
678
+ </span><span class="uncovered0"><a name="line78"></a> 78 end
679
+ </span><span class="uncovered1"><a name="line79"></a> 79
680
+ </span><span class="uncovered0"><a name="line80"></a> 80 self
681
+ </span><span class="uncovered1"><a name="line81"></a> 81 end
682
+ </span><span class="uncovered0"><a name="line82"></a> 82 end
683
+ </span><span class="inferred1"><a name="line83"></a> 83
684
+ </span><span class="marked0"><a name="line84"></a> 84 class NCoverConsoleCmd
685
+ </span><span class="marked1"><a name="line85"></a> 85 def initialize(report_dir, dll_to_execute, params)
686
+ </span><span class="uncovered0"><a name="line86"></a> 86 params ||= {}
687
+ </span><span class="uncovered1"><a name="line87"></a> 87 arch = params[:arch] || ENV['PROCESSOR_ARCHITECTURE']
688
+ </span><span class="uncovered0"><a name="line88"></a> 88 @exe = params[:ncover_exe] || File.join(TOOLS_DIR, 'ncover', arch, 'ncover.console.exe')
689
+ </span><span class="uncovered1"><a name="line89"></a> 89 @dll_to_execute = dll_to_execute
690
+ </span><span class="uncovered0"><a name="line90"></a> 90 ofname = File.split(dll_to_execute)[1].sub(/(\.dll)/, '') + '.coverage.xml'
691
+ </span><span class="uncovered1"><a name="line91"></a> 91 @output_file = File.join(report_dir, ofname)
692
+ </span><span class="uncovered0"><a name="line92"></a> 92
693
+ </span><span class="uncovered1"><a name="line93"></a> 93 @exclude_assemblies_regex = params[:exclude_assemblies_regex] || ['.*Tests.*']
694
+ </span><span class="uncovered0"><a name="line94"></a> 94 @exclude_assemblies_regex.push('ISymWrapper')
695
+ </span><span class="uncovered1"><a name="line95"></a> 95
696
+ </span><span class="uncovered0"><a name="line96"></a> 96 @profile_iis = params[:profile_iis] || false
697
+ </span><span class="uncovered1"><a name="line97"></a> 97 @working_dir = params[:working_dir] || Pathname.new(@dll_to_execute).dirname
698
+ </span><span class="uncovered0"><a name="line98"></a> 98
699
+ </span><span class="uncovered1"><a name="line99"></a> 99 @is_complete_version = `#{@exe}`.include?('NCover Complete v')
700
+ </span><span class="uncovered0"><a name="line100"></a>100 end
701
+ </span><span class="inferred1"><a name="line101"></a>101
702
+ </span><span class="marked0"><a name="line102"></a>102 def cmdToRun
703
+ </span><span class="uncovered1"><a name="line103"></a>103 x = XUnitConsoleCmd.new(@dll_to_execute, '', nil, {})
704
+ </span><span class="uncovered0"><a name="line104"></a>104 x.cmd
705
+ </span><span class="uncovered1"><a name="line105"></a>105 end
706
+ </span><span class="inferred0"><a name="line106"></a>106
707
+ </span><span class="marked1"><a name="line107"></a>107 def bi
708
+ </span><span class="uncovered0"><a name="line108"></a>108 return &quot;//bi #{Versioner.new.get.to_s}&quot;
709
+ </span><span class="uncovered1"><a name="line109"></a>109 end
710
+ </span><span class="inferred0"><a name="line110"></a>110
711
+ </span><span class="marked1"><a name="line111"></a>111 def working_dir
712
+ </span><span class="uncovered0"><a name="line112"></a>112 return &quot;//w #{@working_dir}&quot;
713
+ </span><span class="uncovered1"><a name="line113"></a>113 end
714
+ </span><span class="inferred0"><a name="line114"></a>114
715
+ </span><span class="marked1"><a name="line115"></a>115 def iis
716
+ </span><span class="uncovered0"><a name="line116"></a>116 return '' unless @is_complete_version
717
+ </span><span class="uncovered1"><a name="line117"></a>117 return &quot;//iis&quot; if @profile_iis
718
+ </span><span class="uncovered0"><a name="line118"></a>118 end
719
+ </span><span class="inferred1"><a name="line119"></a>119
720
+ </span><span class="marked0"><a name="line120"></a>120 def exclude_assemblies
721
+ </span><span class="uncovered1"><a name="line121"></a>121 return '' unless @is_complete_version
722
+ </span><span class="uncovered0"><a name="line122"></a>122 if @exclude_assemblies_regex.instance_of?(Array) &amp;&amp; @exclude_assemblies_regex.length &gt; 0
723
+ </span><span class="uncovered1"><a name="line123"></a>123 return '//eas ' + @exclude_assemblies_regex.join(';')
724
+ </span><span class="uncovered0"><a name="line124"></a>124 end
725
+ </span><span class="uncovered1"><a name="line125"></a>125 return '//eas ' + @exclude_assemblies_regex if @exclude_assemblies_regex.instance_of?(String)
726
+ </span><span class="uncovered0"><a name="line126"></a>126 return ''
727
+ </span><span class="uncovered1"><a name="line127"></a>127 end
728
+ </span><span class="inferred0"><a name="line128"></a>128
729
+ </span><span class="marked1"><a name="line129"></a>129 def cmd
730
+ </span><span class="uncovered0"><a name="line130"></a>130 &quot;\&quot;#{@exe}\&quot; #{cmdToRun} //x #{@output_file} #{exclude_assemblies} #{bi} #{working_dir} #{iis}&quot;
731
+ </span><span class="uncovered1"><a name="line131"></a>131 end
732
+ </span><span class="inferred0"><a name="line132"></a>132
733
+ </span><span class="marked1"><a name="line133"></a>133 def run
734
+ </span><span class="uncovered0"><a name="line134"></a>134 puts cmd if VERBOSE
735
+ </span><span class="uncovered1"><a name="line135"></a>135 sh cmd
736
+ </span><span class="uncovered0"><a name="line136"></a>136 end
737
+ </span><span class="uncovered1"><a name="line137"></a>137 end
738
+ </span><span class="inferred0"><a name="line138"></a>138
739
+ </span><span class="marked1"><a name="line139"></a>139 class NCoverReportingCmd
740
+ </span><span class="marked0"><a name="line140"></a>140 def initialize(report_dir, coverage_files, params)
741
+ </span><span class="uncovered1"><a name="line141"></a>141 @report_dir = report_dir
742
+ </span><span class="uncovered0"><a name="line142"></a>142 @coverage_files = coverage_files || []
743
+ </span><span class="uncovered1"><a name="line143"></a>143
744
+ </span><span class="uncovered0"><a name="line144"></a>144 params ||= {}
745
+ </span><span class="uncovered1"><a name="line145"></a>145 arch = params[:arch] || ENV['PROCESSOR_ARCHITECTURE']
746
+ </span><span class="uncovered0"><a name="line146"></a>146 @exe = params[:ncover_reporting_exe] || File.join(TOOLS_DIR, 'ncover', arch, 'ncover.reporting.exe')
747
+ </span><span class="uncovered1"><a name="line147"></a>147
748
+ </span><span class="uncovered0"><a name="line148"></a>148 @is_complete_version = `#{@exe}`.include?('NCover Reporting Complete v')
749
+ </span><span class="uncovered1"><a name="line149"></a>149 # required
750
+ </span><span class="uncovered0"><a name="line150"></a>150 @reports = params[:reports] || ['Summary', 'UncoveredCodeSections', 'FullCoverageReport']
751
+ </span><span class="uncovered1"><a name="line151"></a>151 @output_path = File.join(@report_dir)
752
+ </span><span class="uncovered0"><a name="line152"></a>152
753
+ </span><span class="uncovered1"><a name="line153"></a>153 # optional
754
+ </span><span class="uncovered0"><a name="line154"></a>154 @sort_order = params[:sort] || 'CoveragePercentageAscending'
755
+ </span><span class="uncovered1"><a name="line155"></a>155 @project_name = params[:project_name] || PRODUCT_NAME
756
+ </span><span class="uncovered0"><a name="line156"></a>156 end
757
+ </span><span class="inferred1"><a name="line157"></a>157
758
+ </span><span class="marked0"><a name="line158"></a>158 def coverage_files
759
+ </span><span class="uncovered1"><a name="line159"></a>159 list = ''
760
+ </span><span class="uncovered0"><a name="line160"></a>160 @coverage_files.each do |cf|
761
+ </span><span class="uncovered1"><a name="line161"></a>161 list += &quot;\&quot;#{cf}\&quot; &quot;
762
+ </span><span class="uncovered0"><a name="line162"></a>162 end
763
+ </span><span class="uncovered1"><a name="line163"></a>163 return list
764
+ </span><span class="uncovered0"><a name="line164"></a>164 end
765
+ </span><span class="inferred1"><a name="line165"></a>165
766
+ </span><span class="marked0"><a name="line166"></a>166 def build_id
767
+ </span><span class="uncovered1"><a name="line167"></a>167 return &quot;//bi #{Versioner.new.get.to_s}&quot;
768
+ </span><span class="uncovered0"><a name="line168"></a>168 end
769
+ </span><span class="inferred1"><a name="line169"></a>169
770
+ </span><span class="marked0"><a name="line170"></a>170 def output_reports
771
+ </span><span class="uncovered1"><a name="line171"></a>171 cmd = ''
772
+ </span><span class="uncovered0"><a name="line172"></a>172 if @is_complete_version
773
+ </span><span class="uncovered1"><a name="line173"></a>173 @reports.each do |r|
774
+ </span><span class="uncovered0"><a name="line174"></a>174 cmd += &quot;//or #{r}&quot;
775
+ </span><span class="uncovered1"><a name="line175"></a>175 end
776
+ </span><span class="uncovered0"><a name="line176"></a>176 else
777
+ </span><span class="uncovered1"><a name="line177"></a>177 classic_version_reports_allowed = ['Summary', 'SymbolModule', 'SymbolModuleNamespace', 'SymbolModuleNamespaceClass', 'SymbolModuleNamespaceClassMethod']
778
+ </span><span class="uncovered0"><a name="line178"></a>178 @reports.each do |r|
779
+ </span><span class="uncovered1"><a name="line179"></a>179 cmd += &quot;//or #{r} &quot; if classic_version_reports_allowed.include?(r)
780
+ </span><span class="uncovered0"><a name="line180"></a>180 end
781
+ </span><span class="uncovered1"><a name="line181"></a>181 end
782
+ </span><span class="uncovered0"><a name="line182"></a>182 return cmd
783
+ </span><span class="uncovered1"><a name="line183"></a>183 end
784
+ </span><span class="inferred0"><a name="line184"></a>184
785
+ </span><span class="marked1"><a name="line185"></a>185 def output_path
786
+ </span><span class="uncovered0"><a name="line186"></a>186 return &quot;//op \&quot;#{@output_path}\&quot;&quot;
787
+ </span><span class="uncovered1"><a name="line187"></a>187 end
788
+ </span><span class="inferred0"><a name="line188"></a>188
789
+ </span><span class="marked1"><a name="line189"></a>189 def sort_order
790
+ </span><span class="uncovered0"><a name="line190"></a>190 return &quot;//so #{@sort_order}&quot;
791
+ </span><span class="uncovered1"><a name="line191"></a>191 end
792
+ </span><span class="inferred0"><a name="line192"></a>192
793
+ </span><span class="marked1"><a name="line193"></a>193 def project_name
794
+ </span><span class="uncovered0"><a name="line194"></a>194 return &quot;//p #{@project_name}&quot; unless @project_name.nil?
795
+ </span><span class="uncovered1"><a name="line195"></a>195 end
796
+ </span><span class="inferred0"><a name="line196"></a>196
797
+ </span><span class="marked1"><a name="line197"></a>197 def cmd
798
+ </span><span class="uncovered0"><a name="line198"></a>198 return &quot;\&quot;#{@exe}\&quot; #{coverage_files} #{build_id} #{output_reports} #{output_path} #{sort_order} #{project_name}&quot;
799
+ </span><span class="uncovered1"><a name="line199"></a>199 end
800
+ </span><span class="inferred0"><a name="line200"></a>200
801
+ </span><span class="marked1"><a name="line201"></a>201 def run
802
+ </span><span class="uncovered0"><a name="line202"></a>202 puts cmd if VERBOSE
803
+ </span><span class="uncovered1"><a name="line203"></a>203 sh cmd
804
+ </span><span class="uncovered0"><a name="line204"></a>204 end
805
+ </span><span class="uncovered1"><a name="line205"></a>205 end
805
806
  </span></pre><hr/>
806
807
  <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
807
808
  version 0.8.1.2.</p>