rake-dotnet 0.1.18 → 0.1.19

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.
@@ -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>