diff options
author | Robert Speicher <robert@gitlab.com> | 2016-07-27 16:42:07 +0000 |
---|---|---|
committer | Robert Speicher <robert@gitlab.com> | 2016-07-27 16:42:07 +0000 |
commit | 37306971903ec06e7e3b12dbad598e6555c2b2c1 (patch) | |
tree | 5869254558516e8118ce0f4e105f3dc457af09a3 /spec | |
parent | ac7f3e6a9201778e796394d54f86f45f7d789dc9 (diff) | |
parent | f00dc0fcae6cf482c1bf60065bd2c1ecfaa9748d (diff) | |
download | gitlab-ce-37306971903ec06e7e3b12dbad598e6555c2b2c1.tar.gz |
Merge branch 'simple-cov' into 'master'
Generate coverage report from whole test suite
Extends our CI plan to merge all coverage results and generate HTML report.
See merge request !5018
Diffstat (limited to 'spec')
-rw-r--r-- | spec/simplecov_env.rb | 54 | ||||
-rw-r--r-- | spec/spec_helper.rb | 6 |
2 files changed, 56 insertions, 4 deletions
diff --git a/spec/simplecov_env.rb b/spec/simplecov_env.rb new file mode 100644 index 00000000000..6f8f7109e14 --- /dev/null +++ b/spec/simplecov_env.rb @@ -0,0 +1,54 @@ +require 'simplecov' + +module SimpleCovEnv + extend self + + def start! + return unless ENV['SIMPLECOV'] + + configure_profile + configure_job + + SimpleCov.start + end + + def configure_job + SimpleCov.configure do + if ENV['CI_BUILD_NAME'] + coverage_dir "coverage/#{ENV['CI_BUILD_NAME']}" + command_name ENV['CI_BUILD_NAME'] + end + + if ENV['CI'] + SimpleCov.at_exit do + # In CI environment don't generate formatted reports + # Only generate .resultset.json + SimpleCov.result + end + end + end + end + + def configure_profile + SimpleCov.configure do + load_profile 'test_frameworks' + track_files '{app,lib}/**/*.rb' + + add_filter '/vendor/ruby/' + add_filter 'config/initializers/' + + add_group 'Controllers', 'app/controllers' + add_group 'Models', 'app/models' + add_group 'Mailers', 'app/mailers' + add_group 'Helpers', 'app/helpers' + add_group 'Workers', %w(app/jobs app/workers) + add_group 'Libraries', 'lib' + add_group 'Services', 'app/services' + add_group 'Finders', 'app/finders' + add_group 'Uploaders', 'app/uploaders' + add_group 'Validators', 'app/validators' + + merge_timeout 7200 + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 3638dcbb2d3..4f3aacf55be 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,7 +1,5 @@ -if ENV['SIMPLECOV'] - require 'simplecov' - SimpleCov.start :rails -end +require './spec/simplecov_env' +SimpleCovEnv.start! ENV["RAILS_ENV"] ||= 'test' |