rake-dotnet 0.1.17 → 0.1.18
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.
- data/History.txt +7 -0
- data/README.markdown +4 -8
- data/Rakefile.rb +1 -4
- data/coverage/index.html +25 -25
- data/coverage/lib-assemblyinfo_rb.html +1 -1
- data/coverage/lib-bcpcmd_rb.html +1 -1
- data/coverage/lib-cli_rb.html +1 -1
- data/coverage/lib-fxcop_rb.html +1 -1
- data/coverage/lib-harvester_rb.html +1 -1
- data/coverage/lib-iisappcmd_rb.html +1 -1
- data/coverage/lib-msbuild_rb.html +1 -1
- data/coverage/lib-ncover_rb.html +184 -143
- data/coverage/lib-package_rb.html +82 -82
- data/coverage/lib-sevenzip_rb.html +56 -56
- data/coverage/lib-sqlcmd_rb.html +71 -71
- data/coverage/lib-svn_rb.html +62 -62
- data/coverage/lib-version_rb.html +42 -42
- data/coverage/lib-xunit_rb.html +134 -126
- data/doc/examples.html +1 -1
- data/lib/rake_dotnet.rb +75 -23
- metadata +2 -32
data/doc/examples.html
CHANGED
@@ -474,7 +474,7 @@ a {
|
|
474
474
|
<dd class="spec not_implemented"><span class="not_implemented_spec_name">should require a test_dll (PENDING: Not Yet Implemented)</span></dd>
|
475
475
|
</dl>
|
476
476
|
</div>
|
477
|
-
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>0.
|
477
|
+
<script type="text/javascript">document.getElementById('duration').innerHTML = "Finished in <strong>0.066 seconds</strong>";</script>
|
478
478
|
<script type="text/javascript">document.getElementById('totals').innerHTML = "75 examples, 0 failures, 45 pending";</script>
|
479
479
|
</div>
|
480
480
|
</div>
|
data/lib/rake_dotnet.rb
CHANGED
@@ -770,6 +770,8 @@ class NCoverTask < Rake::TaskLib
|
|
770
770
|
@report_dir = params[:report_dir] || File.join(OUT_DIR, 'reports', 'ncover')
|
771
771
|
@deps = params[:deps] || []
|
772
772
|
tool_defaults = {:arch => ENV['PROCESSOR_ARCHITECTURE']}
|
773
|
+
puts ENV['PROCESSOR_ARCHITECTURE']
|
774
|
+
puts 'NCOVER TD: ' + tool_defaults.to_s
|
773
775
|
@profile_options = tool_defaults.merge(params[:profile_options] || {})
|
774
776
|
@reporting_options = tool_defaults.merge(params[:reporting_options] || {})
|
775
777
|
|
@@ -787,10 +789,22 @@ class NCoverTask < Rake::TaskLib
|
|
787
789
|
reports_dir_regex = RakeDotNet::regexify(@report_dir)
|
788
790
|
rule(/#{reports_dir_regex}\/.*\.coverage\.xml/) do |r|
|
789
791
|
dll_to_execute = r.name.sub(/#{@report_dir}\/(.*)\.coverage\.xml/, "#{@bin_dir}/\\1.dll")
|
792
|
+
if (shouldProfileIis(dll_to_execute))
|
793
|
+
@profile_options[:profile_iis] = true
|
794
|
+
end
|
790
795
|
nc = NCoverConsoleCmd.new(@report_dir, dll_to_execute, @profile_options)
|
791
796
|
nc.run
|
792
797
|
end
|
793
798
|
|
799
|
+
def shouldProfileIis(dll)
|
800
|
+
dll = dll.downcase
|
801
|
+
return true if dll.include? 'functional'
|
802
|
+
return true if dll.include? 'browser'
|
803
|
+
return true if dll.include? 'selenium'
|
804
|
+
return true if dll.include? 'watin'
|
805
|
+
return false
|
806
|
+
end
|
807
|
+
|
794
808
|
desc "Generate ncover coverage XML, one file per test-suite that exercises your product"
|
795
809
|
task :ncover_profile, [:dlls_to_run] => [@report_dir] do |t, args|
|
796
810
|
dlls_to_run_list = FileList.new
|
@@ -803,16 +817,24 @@ class NCoverTask < Rake::TaskLib
|
|
803
817
|
coverage_file = File.join(@report_dir, cf_name)
|
804
818
|
Rake::FileTask[coverage_file].invoke
|
805
819
|
end
|
820
|
+
end
|
806
821
|
|
822
|
+
rule(/#{reports_dir_regex}\/.*\//) do |report_set|
|
823
|
+
set_name = report_set.name.match(/#{reports_dir_regex}\/(.*)\//)[1]
|
824
|
+
profile_xml = File.join(@report_dir, "#{set_name}.coverage.xml")
|
825
|
+
mkdir_p report_set.name
|
826
|
+
@reporting_options[:project_name] = set_name
|
827
|
+
ncr = NCoverReportingCmd.new(report_set.name, profile_xml, @reporting_options)
|
828
|
+
ncr.run
|
807
829
|
end
|
808
830
|
|
809
|
-
desc "Generate ncover coverage report(s), on all coverage files
|
831
|
+
desc "Generate ncover coverage report(s), on all coverage files"
|
810
832
|
task :ncover_reports => [:ncover_profile] do
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
833
|
+
report_sets = FileList.new("#{@report_dir}/**/*.coverage.xml")
|
834
|
+
report_sets.each do |set|
|
835
|
+
cov_report = set.sub('.coverage.xml', '/')
|
836
|
+
Rake::FileTask[cov_report].invoke
|
837
|
+
end
|
816
838
|
end
|
817
839
|
|
818
840
|
task :clobber_ncover do
|
@@ -831,9 +853,14 @@ class NCoverConsoleCmd
|
|
831
853
|
@dll_to_execute = dll_to_execute
|
832
854
|
ofname = File.split(dll_to_execute)[1].sub(/(\.dll)/, '') + '.coverage.xml'
|
833
855
|
@output_file = File.join(report_dir, ofname)
|
856
|
+
|
834
857
|
@exclude_assemblies_regex = params[:exclude_assemblies_regex] || ['.*Tests.*']
|
835
858
|
@exclude_assemblies_regex.push('ISymWrapper')
|
859
|
+
|
860
|
+
@profile_iis = params[:profile_iis] || false
|
836
861
|
@working_dir = params[:working_dir] || Pathname.new(@dll_to_execute).dirname
|
862
|
+
|
863
|
+
@is_complete_version = `#{@exe}`.include?('NCover Complete v')
|
837
864
|
end
|
838
865
|
|
839
866
|
def cmdToRun
|
@@ -842,22 +869,29 @@ class NCoverConsoleCmd
|
|
842
869
|
end
|
843
870
|
|
844
871
|
def bi
|
845
|
-
"//bi #{Versioner.new.get.to_s}"
|
872
|
+
return "//bi #{Versioner.new.get.to_s}"
|
846
873
|
end
|
847
874
|
|
848
875
|
def working_dir
|
849
|
-
"//w #{@working_dir}"
|
876
|
+
return "//w #{@working_dir}"
|
877
|
+
end
|
878
|
+
|
879
|
+
def iis
|
880
|
+
return '' unless @is_complete_version
|
881
|
+
return "//iis" if @profile_iis
|
850
882
|
end
|
851
883
|
|
852
884
|
def exclude_assemblies
|
853
|
-
|
885
|
+
return '' unless @is_complete_version
|
886
|
+
if @exclude_assemblies_regex.instance_of?(Array) && @exclude_assemblies_regex.length > 0
|
854
887
|
return '//eas ' + @exclude_assemblies_regex.join(';')
|
855
888
|
end
|
856
889
|
return '//eas ' + @exclude_assemblies_regex if @exclude_assemblies_regex.instance_of?(String)
|
890
|
+
return ''
|
857
891
|
end
|
858
892
|
|
859
893
|
def cmd
|
860
|
-
"\"#{@exe}\" #{cmdToRun} //x #{@output_file} #{exclude_assemblies} #{bi} #{working_dir}"
|
894
|
+
"\"#{@exe}\" #{cmdToRun} //x #{@output_file} #{exclude_assemblies} #{bi} #{working_dir} #{iis}"
|
861
895
|
end
|
862
896
|
|
863
897
|
def run
|
@@ -874,7 +908,9 @@ class NCoverReportingCmd
|
|
874
908
|
params ||= {}
|
875
909
|
arch = params[:arch] || ENV['PROCESSOR_ARCHITECTURE']
|
876
910
|
@exe = params[:ncover_reporting_exe] || File.join(TOOLS_DIR, 'ncover', arch, 'ncover.reporting.exe')
|
911
|
+
puts 'NR: ' + params[:arch].to_s + ' ' + arch
|
877
912
|
|
913
|
+
@is_complete_version = `#{@exe}`.include?('NCover Reporting Complete v')
|
878
914
|
# required
|
879
915
|
@reports = params[:reports] || ['Summary', 'UncoveredCodeSections', 'FullCoverageReport']
|
880
916
|
@output_path = File.join(@report_dir)
|
@@ -889,38 +925,46 @@ class NCoverReportingCmd
|
|
889
925
|
@coverage_files.each do |cf|
|
890
926
|
list += "\"#{cf}\" "
|
891
927
|
end
|
892
|
-
list
|
928
|
+
return list
|
893
929
|
end
|
894
930
|
|
895
931
|
def build_id
|
896
|
-
"//bi #{Versioner.new.get.to_s}"
|
932
|
+
return "//bi #{Versioner.new.get.to_s}"
|
897
933
|
end
|
898
934
|
|
899
935
|
def output_reports
|
900
936
|
cmd = ''
|
901
|
-
@
|
902
|
-
|
937
|
+
if @is_complete_version
|
938
|
+
@reports.each do |r|
|
939
|
+
cmd += "//or #{r}"
|
940
|
+
end
|
941
|
+
else
|
942
|
+
classic_version_reports_allowed = ['Summary', 'SymbolModule', 'SymbolModuleNamespace', 'SymbolModuleNamespaceClass', 'SymbolModuleNamespaceClassMethod']
|
943
|
+
@reports.each do |r|
|
944
|
+
cmd += "//or #{r} " if classic_version_reports_allowed.include?(r)
|
945
|
+
end
|
903
946
|
end
|
904
947
|
return cmd
|
905
948
|
end
|
906
949
|
|
907
950
|
def output_path
|
908
|
-
"//op \"#{@output_path}\""
|
951
|
+
return "//op \"#{@output_path}\""
|
909
952
|
end
|
910
953
|
|
911
954
|
def sort_order
|
912
|
-
"//so #{@sort_order}"
|
955
|
+
return "//so #{@sort_order}"
|
913
956
|
end
|
914
957
|
|
915
958
|
def project_name
|
916
|
-
"//p #{@project_name}" unless @project_name.nil?
|
959
|
+
return "//p #{@project_name}" unless @project_name.nil?
|
917
960
|
end
|
918
961
|
|
919
962
|
def cmd
|
920
|
-
"\"#{@exe}\" #{coverage_files} #{build_id} #{output_reports} #{output_path} #{sort_order} #{project_name}"
|
963
|
+
return "\"#{@exe}\" #{coverage_files} #{build_id} #{output_reports} #{output_path} #{sort_order} #{project_name}"
|
921
964
|
end
|
922
965
|
|
923
966
|
def run
|
967
|
+
puts cmd if VERBOSE
|
924
968
|
sh cmd
|
925
969
|
end
|
926
970
|
end
|
@@ -1177,7 +1221,7 @@ class XUnitTask < Rake::TaskLib
|
|
1177
1221
|
|
1178
1222
|
def initialize(params={}) # :yield: self
|
1179
1223
|
@suites_dir = params[:suites_dir] || File.join(OUT_DIR, 'bin')
|
1180
|
-
@reports_dir = params[:reports_dir] || File.join(OUT_DIR, 'reports')
|
1224
|
+
@reports_dir = params[:reports_dir] || File.join(OUT_DIR, 'reports', 'tests')
|
1181
1225
|
@options = params[:options] || {}
|
1182
1226
|
@deps = params[:deps] || []
|
1183
1227
|
|
@@ -1193,15 +1237,23 @@ class XUnitTask < Rake::TaskLib
|
|
1193
1237
|
|
1194
1238
|
rule(/#{@reports_dir}\/.*Tests.*\//) do |r|
|
1195
1239
|
suite = r.name.match(/.*\/(.*Tests)\//)[1]
|
1196
|
-
|
1240
|
+
run(suite)
|
1241
|
+
end
|
1242
|
+
|
1243
|
+
rule(/xt-.*Tests.*/) do |r|
|
1244
|
+
suite = r.name.match(/xunit-(.*Tests)/)[1]
|
1245
|
+
run(suite)
|
1246
|
+
end
|
1247
|
+
|
1248
|
+
def run(suite)
|
1249
|
+
tests_dll = File.join(@suites_dir, suite + '.dll')
|
1197
1250
|
out_dir = File.join(@reports_dir, suite)
|
1198
|
-
unless File.exist?(out_dir) && uptodate?(
|
1251
|
+
unless File.exist?(out_dir) && uptodate?(tests_dll, out_dir)
|
1199
1252
|
mkdir_p(out_dir) unless File.exist?(out_dir)
|
1200
|
-
x = XUnitConsoleCmd.new(
|
1253
|
+
x = XUnitConsoleCmd.new(tests_dll, out_dir, nil, options=@options)
|
1201
1254
|
x.run
|
1202
1255
|
end
|
1203
1256
|
end
|
1204
|
-
|
1205
1257
|
directory @reports_dir
|
1206
1258
|
|
1207
1259
|
desc "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}"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rake-dotnet
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.18
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter MouncePeter Mounce
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-11-
|
12
|
+
date: 2009-11-26 00:00:00 +00:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -22,36 +22,6 @@ dependencies:
|
|
22
22
|
- !ruby/object:Gem::Version
|
23
23
|
version: 0.8.3
|
24
24
|
version:
|
25
|
-
- !ruby/object:Gem::Dependency
|
26
|
-
name: rspec
|
27
|
-
type: :runtime
|
28
|
-
version_requirement:
|
29
|
-
version_requirements: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.2.9
|
34
|
-
version:
|
35
|
-
- !ruby/object:Gem::Dependency
|
36
|
-
name: rcov
|
37
|
-
type: :runtime
|
38
|
-
version_requirement:
|
39
|
-
version_requirements: !ruby/object:Gem::Requirement
|
40
|
-
requirements:
|
41
|
-
- - ">="
|
42
|
-
- !ruby/object:Gem::Version
|
43
|
-
version: 0.8.1
|
44
|
-
version:
|
45
|
-
- !ruby/object:Gem::Dependency
|
46
|
-
name: diff-lcs
|
47
|
-
type: :runtime
|
48
|
-
version_requirement:
|
49
|
-
version_requirements: !ruby/object:Gem::Requirement
|
50
|
-
requirements:
|
51
|
-
- - ">="
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: 1.1.2
|
54
|
-
version:
|
55
25
|
- !ruby/object:Gem::Dependency
|
56
26
|
name: hoe
|
57
27
|
type: :development
|