Improve ChefSpec test speed by enabling caching
This updates all references of let(:chef_run) to cached(:chef_run) to speed up tests. By doing this, we have to create a new cached(:chef_run) block whenever we need to adjust node attributes for testing. Speed was improved from 1 minute 14.88 to 21.64 seconds Change-Id: Iff9c0f56d17e8f2924b4126144ed116081278842
This commit is contained in:
parent
8ed82d41ad
commit
4c2082764b
|
@ -5,18 +5,25 @@ describe 'openstack-integration-test::setup' do
|
|||
describe 'redhat' do
|
||||
let(:runner) { ChefSpec::SoloRunner.new(REDHAT_OPTS) }
|
||||
let(:node) { runner.node }
|
||||
let(:chef_run) do
|
||||
cached(:chef_run) do
|
||||
runner.converge(described_recipe)
|
||||
end
|
||||
|
||||
include_context 'tempest-stubs'
|
||||
|
||||
it 'installs tempest dependencies' do
|
||||
%w(git curl libxslt-devel
|
||||
libxml2-devel python-testrepository
|
||||
libffi-devel python-devel
|
||||
python-gabbi python-testscenarios
|
||||
python-ddt).each do |pkg|
|
||||
%w(
|
||||
curl
|
||||
git
|
||||
libffi-devel
|
||||
libxml2-devel
|
||||
libxslt-devel
|
||||
python-ddt
|
||||
python-devel
|
||||
python-gabbi
|
||||
python-testrepository
|
||||
python-testscenarios
|
||||
).each do |pkg|
|
||||
expect(chef_run).to upgrade_package(pkg)
|
||||
end
|
||||
end
|
||||
|
|
|
@ -5,7 +5,7 @@ describe 'openstack-integration-test::setup' do
|
|||
describe 'ubuntu' do
|
||||
let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) }
|
||||
let(:node) { runner.node }
|
||||
let(:chef_run) do
|
||||
cached(:chef_run) do
|
||||
runner.converge(described_recipe)
|
||||
end
|
||||
|
||||
|
@ -187,9 +187,8 @@ describe 'openstack-integration-test::setup' do
|
|||
end
|
||||
end
|
||||
|
||||
describe 'tempest.conf with HTTPS' do
|
||||
let(:runner) { ChefSpec::SoloRunner.new(UBUNTU_OPTS) }
|
||||
let(:chef_run) do
|
||||
context 'tempest.conf with HTTPS' do
|
||||
cached(:chef_run) do
|
||||
runner.node.override['openstack']['endpoints']['internal']['identity']['scheme'] = 'https'
|
||||
runner.converge(described_recipe)
|
||||
end
|
||||
|
|
|
@ -1,24 +1,21 @@
|
|||
# encoding: UTF-8
|
||||
require 'chefspec'
|
||||
require 'chefspec/berkshelf'
|
||||
|
||||
ChefSpec::Coverage.start! { add_filter 'openstack-integration-test' }
|
||||
|
||||
require 'chef/application'
|
||||
|
||||
RSpec.configure do |config|
|
||||
config.color = true
|
||||
config.formatter = :documentation
|
||||
config.log_level = :fatal
|
||||
config.log_level = :warn
|
||||
end
|
||||
|
||||
REDHAT_OPTS = {
|
||||
platform: 'redhat',
|
||||
version: '7.4',
|
||||
version: '7',
|
||||
}.freeze
|
||||
UBUNTU_OPTS = {
|
||||
platform: 'ubuntu',
|
||||
version: '16.04',
|
||||
version: '18.04',
|
||||
}.freeze
|
||||
|
||||
shared_context 'tempest-stubs' do
|
||||
|
|
Loading…
Reference in New Issue