summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-07-21 10:44:18 +0200
committerGrzegorz Bizon <grzesiek.bizon@gmail.com>2016-07-21 12:46:49 +0200
commit7a0f4d3c905cc92880697deac365a6c596fd55a8 (patch)
tree7bdd5e0102d974f1920f4925180cc074d59dd504
parent8e5e668e1a0844ebafbfc8081d9f71a030feb1d6 (diff)
downloadgitlab-ce-7a0f4d3c905cc92880697deac365a6c596fd55a8.tar.gz
Introduce SimpleCovEnv singleton helper and use it
-rw-r--r--features/support/env.rb4
-rwxr-xr-xscripts/merge-simplecov9
-rw-r--r--spec/simplecov_env.rb71
-rw-r--r--spec/spec_helper.rb4
4 files changed, 51 insertions, 37 deletions
diff --git a/features/support/env.rb b/features/support/env.rb
index 2a3e21d28bc..569fd444e86 100644
--- a/features/support/env.rb
+++ b/features/support/env.rb
@@ -1,5 +1,5 @@
-require_relative '../../spec/simplecov_env'
-SimpleCov.start if ENV['SIMPLECOV']
+require './spec/simplecov_env'
+SimpleCovEnv.start!
ENV['RAILS_ENV'] = 'test'
require './config/environment'
diff --git a/scripts/merge-simplecov b/scripts/merge-simplecov
index ab15b43bd0f..65f93f8830b 100755
--- a/scripts/merge-simplecov
+++ b/scripts/merge-simplecov
@@ -1,6 +1,7 @@
#!/usr/bin/env ruby
-require 'simplecov'
+require_relative '../spec/simplecov_env'
+SimpleCovEnv.configure_profile
module SimpleCov
module ResultMerger
@@ -26,10 +27,4 @@ module SimpleCov
end
end
-# Ignore CI environment
-ENV['CI'] = nil
-ENV['CI_BUILD_NAME'] = nil
-
-require_relative '../spec/simplecov_env'
-
SimpleCov::ResultMerger.merged_result.format!
diff --git a/spec/simplecov_env.rb b/spec/simplecov_env.rb
index 112ca1b176a..6f8f7109e14 100644
--- a/spec/simplecov_env.rb
+++ b/spec/simplecov_env.rb
@@ -1,35 +1,54 @@
require 'simplecov'
-SimpleCov.configure do
- load_profile 'test_frameworks'
- track_files '{app,lib}/**/*.rb'
+module SimpleCovEnv
+ extend self
- if ENV['CI_BUILD_NAME']
- coverage_dir "coverage/#{ENV['CI_BUILD_NAME']}"
- command_name ENV['CI_BUILD_NAME']
+ def start!
+ return unless ENV['SIMPLECOV']
+
+ configure_profile
+ configure_job
+
+ SimpleCov.start
end
- if ENV['CI']
- SimpleCov.at_exit do
- # In CI environment don't generate formatted reports
- # Only generate .resultset.json
- SimpleCov.result
+ 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
- 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
+ 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 d2760d0ef28..4f3aacf55be 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,5 @@
-require_relative 'simplecov_env'
-SimpleCov.start if ENV['SIMPLECOV']
+require './spec/simplecov_env'
+SimpleCovEnv.start!
ENV["RAILS_ENV"] ||= 'test'