diff options
Diffstat (limited to 'lib/tasks/rcov.rake')
-rw-r--r-- | lib/tasks/rcov.rake | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/lib/tasks/rcov.rake b/lib/tasks/rcov.rake deleted file mode 100644 index bb602e4..0000000 --- a/lib/tasks/rcov.rake +++ /dev/null @@ -1,81 +0,0 @@ -def run_coverage(files) - rm_f "coverage" - rm_f "coverage.data" - - # turn the files we want to run into a string - if files.empty? - puts "No files were specified for testing" - return - end - - files = files.join(" ") - - if RUBY_PLATFORM =~ /darwin/ - exclude = '--exclude "gems/*" --exclude "Library/Frameworks/*"' - elsif RUBY_PLATFORM =~ /java/ - exclude = '--exclude "rubygems/*,jruby/*,parser*,gemspec*,_DELEGATION*,eval*,recognize_optimized*,yaml,yaml/*,fcntl"' - else - exclude = '--exclude "gems/*"' - end - # rake test:units:rcov SHOW_ONLY=models,controllers,lib,helpers - # rake test:units:rcov SHOW_ONLY=m,c,l,h - if ENV['SHOW_ONLY'] - params = String.new - show_only = ENV['SHOW_ONLY'].to_s.split(',').map{|x|x.strip} - if show_only.any? - reg_exp = [] - for show_type in show_only - reg_exp << case show_type - when 'm', 'models' then 'app\/models' - when 'c', 'controllers' then 'app\/controllers' - when 'h', 'helpers' then 'app\/helpers' - when 'l', 'lib' then 'lib' - else - show_type - end - end - reg_exp.map!{ |m| "(#{m})" } - params << " --exclude \"^(?!#{reg_exp.join('|')})\"" - end - exclude = exclude + params - end - - rcov_bin = RUBY_PLATFORM =~ /java/ ? "jruby -S rcov" : "rcov" - rcov = "#{rcov_bin} --rails -Ilib:test --sort coverage --text-report #{exclude}" - puts - puts - puts "Running tests..." - cmd = "#{rcov} #{files}" - puts cmd - begin - sh cmd - rescue Exception => e - $stderr.puts "#{e.message}" - $stderr.puts "The tests likely failed. Not aborting to not break Hudson builds" - end -end - -namespace :test do - - desc "Measures unit, functional, and integration test coverage" - task :coverage do - run_coverage Dir["test/unit/**/*.rb", "test/functional/**/*.rb", "test/integration/**/*.rb"] - end - - namespace :coverage do - desc "Runs coverage on unit tests" - task :units do - run_coverage Dir["test/unit/**/*.rb"] - end - - desc "Runs coverage on functional tests" - task :functionals do - run_coverage Dir["test/functional/**/*.rb"] - end - - desc "Runs coverage on integration tests" - task :integration do - run_coverage Dir["test/integration/**/*.rb"] - end - end -end |