Skip to content
Snippets Groups Projects
Commit fe47ba8e8165 authored by Richard Clamp's avatar Richard Clamp
Browse files

Extract spec_helper from chef_helper

chef_helper loads a lot of chef related testing libraries, and includes
a call to ohai to configure them.  This is not always needed when
testing library code/rake tasks.

When running examples directly from the command-line during development
we can see a speedup of around 1.5 seconds, by using the reduced
`spec_helper` rather than the full `chef_helper`.
parent aecc13132918
No related branches found
No related tags found
No related merge requests found
Showing
with 35 additions and 38 deletions
# `chef_helper` is a superset of `spec_helper` that configures `chefspec` for
# testing our cookbooks.
require 'spec_helper'
require 'chefspec'
require 'ohai'
......@@ -1,9 +5,5 @@
require 'chefspec'
require 'ohai'
require 'fantaskspec'
require 'knapsack'
Knapsack::Adapters::RSpecAdapter.bind if ENV['USE_KNAPSACK']
# Load our cookbook libraries so we can stub them in our tests
cookbooks = %w(package gitlab gitaly mattermost gitlab-ee)
......@@ -11,9 +11,6 @@
Dir[File.join(__dir__, "../files/gitlab-cookbooks/#{cookbook}/libraries/**/*.rb")].each { |f| require f }
end
# Load support libraries to provide common convenience methods for our tests
Dir[File.join(__dir__, 'support/*.rb')].each { |f| require f }
def deep_clone(obj)
Marshal.load(Marshal.dump(obj)) # rubocop:disable Security/MarshalLoad
end
......@@ -41,11 +38,6 @@
config.cookbook_path = ['files/gitlab-cookbooks/', 'spec/fixtures/cookbooks']
config.log_level = :error
config.filter_run focus: true
config.run_all_when_everything_filtered = true
config.include(GitlabSpec::Macros)
config.before do
stub_command('id -Z').and_return(false)
stub_command("grep 'CS:123456:respawn:/opt/gitlab/embedded/bin/runsvdir-start' /etc/inittab").and_return('')
......@@ -57,8 +49,8 @@
stub_command('/opt/gitlab/embedded/bin/psql --version').and_return("fake_version")
allow(VersionHelper).to receive(:version).and_call_original
allow(VersionHelper).to receive(:version).with('/opt/gitlab/embedded/bin/psql --version').and_return('fake_psql_version')
allow_any_instance_of(Chef::Recipe).to receive(:system).with('/sbin/init --version | grep upstart')
allow_any_instance_of(Chef::Recipe).to receive(:system).with('systemctl | grep "\-\.mount"')
stub_command('/sbin/init --version | grep upstart')
stub_command('systemctl | grep "\-\.mount"')
# ChefSpec::SoloRunner doesn't support Chef.event_handler, so stub it
allow(Chef).to receive(:event_handler)
......
require 'chef_helper'
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../files/gitlab-ctl-commands-ee/lib')
......
require 'spec_helper'
$LOAD_PATH << './files/gitlab-ctl-commands-ee/lib'
$LOAD_PATH << './files/gitlab-ctl-commands/lib'
......
require 'spec_helper'
$LOAD_PATH << './files/gitlab-ctl-commands-ee/lib'
$LOAD_PATH << './files/gitlab-ctl-commands/lib'
......
require 'chef_helper'
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../files/gitlab-ctl-commands-ee/lib')
......
require 'chef_helper'
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../files/gitlab-ctl-commands-ee/lib')
......
require 'spec_helper'
require 'omnibus-ctl'
......@@ -1,5 +2,4 @@
require 'omnibus-ctl'
require 'chef_helper'
describe 'gitlab-ctl promote-to-primary-node' do
subject(:ctl) { Omnibus::Ctl.new('testing-ctl') }
......
require 'spec_helper'
require 'omnibus-ctl'
......@@ -1,5 +2,4 @@
require 'omnibus-ctl'
require 'chef_helper'
describe 'gitlab-ctl replicate-geo-database' do
subject { Omnibus::Ctl.new('testing-ctl') }
......
require 'spec_helper'
require 'omnibus-ctl'
......@@ -1,5 +2,4 @@
require 'omnibus-ctl'
require 'chef_helper'
describe 'gitlab-ctl' do
before do
......
require 'chef_helper'
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../files/gitlab-ctl-commands/lib')
......
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../../files/gitlab-ctl-commands/lib')
require 'postgresql/replication'
......
require 'chef_helper'
require 'spec_helper'
$LOAD_PATH << File.join(__dir__, '../../../files/gitlab-ctl-commands/lib')
......
require_relative '../../../lib/gitlab/build/check.rb'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/check'
describe Build::Check do
describe 'is_ee?' do
......
require_relative '../../../lib/gitlab/build/gitlab_image'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/gitlab_image'
describe Build::GitlabImage do
before do
......
require_relative '../../../lib/gitlab/build/image'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/image'
describe Build::Image do
ComponentImage = Class.new do
......
require_relative '../../../lib/gitlab/build/info'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/info'
describe Build::Info do
describe '.package' do
......
require_relative '../../../lib/gitlab/build/qa_image'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/qa_image'
describe Build::QAImage do
before do
......
require_relative '../../../lib/gitlab/build/qa'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build/qa'
describe Build::QA do
describe '.repo_path' do
......
require_relative '../../lib/gitlab/build_iteration.rb'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build_iteration'
describe Gitlab::BuildIteration do
describe :build_iteration do
......
require_relative '../../lib/gitlab/build.rb'
require 'chef_helper'
require 'spec_helper'
require 'gitlab/build'
describe Build do
describe 'cmd' do
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment