summaryrefslogtreecommitdiff
path: root/spec/fast_spec_helper.rb
diff options
context:
space:
mode:
authorRémy Coutable <remy@rymai.me>2018-03-29 11:49:08 +0200
committerRémy Coutable <remy@rymai.me>2018-04-23 12:20:30 +0200
commitd2aee809ed76ff2e7f57c820410b51898b3a226a (patch)
treef57280904793622f356d6092fd94d72992d014f3 /spec/fast_spec_helper.rb
parent023d4f6f2f3d88d0966fe01e6ef921fd03a309fe (diff)
downloadgitlab-ce-d2aee809ed76ff2e7f57c820410b51898b3a226a.tar.gz
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/fast_spec_helper.rb')
-rw-r--r--spec/fast_spec_helper.rb38
1 files changed, 38 insertions, 0 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'