From 9e561c047afff159a5524b7cc737d26b02f48405 Mon Sep 17 00:00:00 2001 From: Seth Call Date: Thu, 13 Feb 2014 22:11:30 -0600 Subject: [PATCH] * VRFS-1103 - coverage for all projects. need to figure out how to merge all --- .gitignore | 1 + admin/.simplecov | 46 ++++++++++++++++++++++++++ admin/Gemfile | 6 ++++ admin/spec/spec_helper.rb | 3 +- web/.simplecov | 47 +++++++++++++++++++++++++++ web/Gemfile | 2 ++ web/spec/spec_helper.rb | 1 + websocket-gateway/.simplecov | 46 ++++++++++++++++++++++++++ websocket-gateway/Gemfile | 2 ++ websocket-gateway/spec/spec_helper.rb | 1 + 10 files changed, 153 insertions(+), 2 deletions(-) create mode 100644 admin/.simplecov create mode 100644 web/.simplecov create mode 100644 websocket-gateway/.simplecov diff --git a/.gitignore b/.gitignore index 9a18ea4cb..b2e862260 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ *.swp HTML .DS_Store +coverage/ diff --git a/admin/.simplecov b/admin/.simplecov new file mode 100644 index 000000000..dfe6c4166 --- /dev/null +++ b/admin/.simplecov @@ -0,0 +1,46 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/admin/Gemfile b/admin/Gemfile index 498c95427..8246ad7d7 100644 --- a/admin/Gemfile +++ b/admin/Gemfile @@ -108,3 +108,9 @@ group :development, :test do gem 'database_cleaner', '0.7.0' gem 'launchy' end + +group :test do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' +end + diff --git a/admin/spec/spec_helper.rb b/admin/spec/spec_helper.rb index 7bded3dc9..f7ddad41a 100644 --- a/admin/spec/spec_helper.rb +++ b/admin/spec/spec_helper.rb @@ -1,6 +1,5 @@ - ENV["RAILS_ENV"] ||= 'test' - +require 'simplecov' # provision database require 'active_record' diff --git a/web/.simplecov b/web/.simplecov new file mode 100644 index 000000000..1091e3c7a --- /dev/null +++ b/web/.simplecov @@ -0,0 +1,47 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + add_filter "/features/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/web/Gemfile b/web/Gemfile index 1d487f7fe..7642c6ddf 100644 --- a/web/Gemfile +++ b/web/Gemfile @@ -93,6 +93,8 @@ group :assets do end group :test, :cucumber do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' gem 'capybara' #if ENV['JAMWEB_QT5'] == '1' # # necessary on platforms such as arch linux, where pacman -S qt5-webkit is your easiet option diff --git a/web/spec/spec_helper.rb b/web/spec/spec_helper.rb index 9aa9610a0..8ac3f7d4d 100644 --- a/web/spec/spec_helper.rb +++ b/web/spec/spec_helper.rb @@ -1,3 +1,4 @@ +require 'simplecov' require 'rubygems' require 'spork' require 'omniauth' diff --git a/websocket-gateway/.simplecov b/websocket-gateway/.simplecov new file mode 100644 index 000000000..dfe6c4166 --- /dev/null +++ b/websocket-gateway/.simplecov @@ -0,0 +1,46 @@ +if ENV['COVERAGE'] == "1" + + require 'simplecov-rcov' + class SimpleCov::Formatter::MergedFormatter + def format(result) + SimpleCov::Formatter::HTMLFormatter.new.format(result) + SimpleCov::Formatter::RcovFormatter.new.format(result) + end + end + + SimpleCov.formatter = SimpleCov::Formatter::MergedFormatter + + SimpleCov.start do + add_filter "/test/" + add_filter "/bin/" + add_filter "/scripts/" + add_filter "/tmp/" + add_filter "/vendor/" + add_filter "/spec/" + end + + all_files = Dir['**/*.rb'] + base_result = {} + all_files.each do |file| + absolute = File::expand_path(file) + lines = File.readlines(absolute, :encoding => 'UTF-8') + base_result[absolute] = lines.map do |l| + l.encode!('UTF-16', 'UTF-8', :invalid => :replace, :replace => '') + l.encode!('UTF-8', 'UTF-16') + l.strip! + l.empty? || l =~ /^end$/ || l[0] == '#' ? nil : 0 + end + end + + SimpleCov.at_exit do + coverage_result = Coverage.result + covered_files = coverage_result.keys + covered_files.each do |covered_file| + base_result.delete(covered_file) + end + merged = SimpleCov::Result.new(coverage_result).original_result.merge_resultset(base_result) + result = SimpleCov::Result.new(merged) + result.format! + end + +end diff --git a/websocket-gateway/Gemfile b/websocket-gateway/Gemfile index 6634c7858..75294360a 100644 --- a/websocket-gateway/Gemfile +++ b/websocket-gateway/Gemfile @@ -49,6 +49,8 @@ group :development do end group :test do + gem 'simplecov', '~> 0.7.1' + gem 'simplecov-rcov' gem 'cucumber' gem 'rspec' gem 'factory_girl' diff --git a/websocket-gateway/spec/spec_helper.rb b/websocket-gateway/spec/spec_helper.rb index 0468e41e5..250d266e8 100644 --- a/websocket-gateway/spec/spec_helper.rb +++ b/websocket-gateway/spec/spec_helper.rb @@ -1,3 +1,4 @@ +require 'simplecov' require 'active_record' require 'jam_db' require 'spec_db'