summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.rspec2
-rw-r--r--Gemfile2
-rw-r--r--Gemfile.lock2
-rw-r--r--spec/spec_helper.rb101
4 files changed, 63 insertions, 44 deletions
diff --git a/.rspec b/.rspec
index 53607ea52b7..5902dd3af1f 100644
--- a/.rspec
+++ b/.rspec
@@ -1 +1 @@
---colour
+--colour --drb
diff --git a/Gemfile b/Gemfile
index fdc6a41fc93..efa4be7c0da 100644
--- a/Gemfile
+++ b/Gemfile
@@ -173,6 +173,8 @@ group :development, :test do
# PhantomJS driver for Capybara
gem 'poltergeist', '1.1.0'
+
+ gem 'spork', '~> 1.0rc'
end
group :test do
diff --git a/Gemfile.lock b/Gemfile.lock
index 4e86bbcca82..a81404b93a8 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -447,6 +447,7 @@ GEM
capybara (~> 2.0.0)
railties (>= 3)
spinach (>= 0.4)
+ spork (1.0.0rc3)
sprockets (2.2.2)
hike (~> 1.2)
multi_json (~> 1.0)
@@ -574,6 +575,7 @@ DEPENDENCIES
six
slim
spinach-rails (= 0.2.0)
+ spork (~> 1.0rc)
stamp
state_machine
test_after_commit
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index 0f593de854b..03c586f81cf 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,47 +1,62 @@
-require 'simplecov' unless ENV['CI']
+require 'rubygems'
+require 'spork'
-if ENV['TRAVIS']
- require 'coveralls'
- Coveralls.wear!
-end
+Spork.prefork do
+ require 'simplecov' unless ENV['CI']
+
+ if ENV['TRAVIS']
+ require 'coveralls'
+ Coveralls.wear!
+ end
-# This file is copied to spec/ when you run 'rails generate rspec:install'
-ENV["RAILS_ENV"] ||= 'test'
-require File.expand_path("../../config/environment", __FILE__)
-require 'rspec/rails'
-require 'capybara/rails'
-require 'capybara/rspec'
-require 'webmock/rspec'
-require 'email_spec'
-require 'sidekiq/testing/inline'
-require 'capybara/poltergeist'
-Capybara.javascript_driver = :poltergeist
-Capybara.default_wait_time = 10
-
-# Requires supporting ruby files with custom matchers and macros, etc,
-# in spec/support/ and its subdirectories.
-Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
-
-WebMock.disable_net_connect!(allow_localhost: true)
-
-RSpec.configure do |config|
- config.mock_with :rspec
-
- config.include LoginHelpers, type: :feature
- config.include LoginHelpers, type: :request
- config.include FactoryGirl::Syntax::Methods
- config.include Devise::TestHelpers, type: :controller
-
- # If you're not using ActiveRecord, or you'd prefer not to run each of your
- # examples within a transaction, remove the following line or assign false
- # instead of true.
- config.use_transactional_fixtures = false
-
- config.before do
- # Use tmp dir for FS manipulations
- temp_repos_path = Rails.root.join('tmp', 'test-git-base-path')
- Gitlab.config.gitlab_shell.stub(repos_path: temp_repos_path)
- FileUtils.rm_rf temp_repos_path
- FileUtils.mkdir_p temp_repos_path
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
+ ENV["RAILS_ENV"] ||= 'test'
+ require File.expand_path("../../config/environment", __FILE__)
+ require 'rspec/rails'
+ require 'capybara/rails'
+ require 'capybara/rspec'
+ require 'webmock/rspec'
+ require 'email_spec'
+ require 'sidekiq/testing/inline'
+ require 'capybara/poltergeist'
+
+ # Loading more in this block will cause your tests to run faster. However,
+
+ # if you change any configuration or code from libraries loaded here, you'll
+ # need to restart spork for it take effect.
+ Capybara.javascript_driver = :poltergeist
+ Capybara.default_wait_time = 10
+
+ # Requires supporting ruby files with custom matchers and macros, etc,
+ # in spec/support/ and its subdirectories.
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
+
+ WebMock.disable_net_connect!(allow_localhost: true)
+
+ RSpec.configure do |config|
+ config.mock_with :rspec
+
+ config.include LoginHelpers, type: :feature
+ config.include LoginHelpers, type: :request
+ config.include FactoryGirl::Syntax::Methods
+ config.include Devise::TestHelpers, type: :controller
+
+ # If you're not using ActiveRecord, or you'd prefer not to run each of your
+ # examples within a transaction, remove the following line or assign false
+ # instead of true.
+ config.use_transactional_fixtures = false
+
+ config.before do
+ # Use tmp dir for FS manipulations
+ temp_repos_path = Rails.root.join('tmp', 'test-git-base-path')
+ Gitlab.config.gitlab_shell.stub(repos_path: temp_repos_path)
+ FileUtils.rm_rf temp_repos_path
+ FileUtils.mkdir_p temp_repos_path
+ end
end
end
+
+Spork.each_run do
+ # This code will be run each time you run your specs.
+
+end