diff options
author | Rémy Coutable <remy@rymai.me> | 2018-03-29 12:49:08 +0300 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-04-23 13:20:30 +0300 |
commit | d2aee809ed76ff2e7f57c820410b51898b3a226a (patch) | |
tree | f57280904793622f356d6092fd94d72992d014f3 /spec | |
parent | 023d4f6f2f3d88d0966fe01e6ef921fd03a309fe (diff) |
Introduce spec/fast_spec_helper.rb to run spec files that don't rely on the whole Rails env
Signed-off-by: Rémy Coutable <remy@rymai.me>
Diffstat (limited to 'spec')
-rw-r--r-- | spec/fast_spec_helper.rb | 38 | ||||
-rw-r--r-- | spec/lib/gitlab_spec.rb | 4 |
2 files changed, 41 insertions, 1 deletions
diff --git a/spec/fast_spec_helper.rb b/spec/fast_spec_helper.rb new file mode 100644 index 00000000000..32eb8db0fa5 --- /dev/null +++ b/spec/fast_spec_helper.rb @@ -0,0 +1,38 @@ +require 'bundler/setup' + +require 'settingslogic' + +ENV["RAILS_ENV"] = 'test' +ENV["IN_MEMORY_APPLICATION_SETTINGS"] = 'true' + +unless Kernel.respond_to?(:require_dependency) + module Kernel + alias_method :require_dependency, :require + end +end + +unless defined?(Rails) + module Rails + def self.root + Pathname.new(File.expand_path('')) + end + + # Copied from https://github.com/rails/rails/blob/v4.2.10/railties/lib/rails.rb#L59-L61 + def self.env + @_env ||= ActiveSupport::StringInquirer.new(ENV["RAILS_ENV"] || ENV["RACK_ENV"] || "development") + end + end +end + +# Settings is used in config/initializers/2_app.rb +class Settings < Settingslogic + source Rails.root.join('config/gitlab.yml') + namespace Rails.env +end + +# Defines Gitlab and Gitlab.config +unless defined?(Gitlab) && Gitlab.respond_to?(:config) + require_relative '../config/initializers/2_app' +end + +require_relative 'support/rspec' diff --git a/spec/lib/gitlab_spec.rb b/spec/lib/gitlab_spec.rb index bd443a5d9e7..e734c12f6dd 100644 --- a/spec/lib/gitlab_spec.rb +++ b/spec/lib/gitlab_spec.rb @@ -1,4 +1,6 @@ -require 'rails_helper' +require 'fast_spec_helper' + +require_dependency 'gitlab' describe Gitlab do describe '.com?' do |