Files
vagrant-libvirt/spec/spec_helper.rb

98 lines
2.5 KiB
Ruby
Raw Normal View History

# frozen_string_literal: true
# make simplecov optional
begin
require 'simplecov'
require 'simplecov-lcov'
# patch simplecov configuration
if ! SimpleCov::Configuration.method_defined? :branch_coverage?
module SimpleCov
module Configuration
def branch_coverage?
return false
end
end
end
end
SimpleCov::Formatter::LcovFormatter.config do |config|
config.report_with_single_file = true
config.single_report_path = 'coverage/lcov.info'
end
SimpleCov.formatters = SimpleCov::Formatter::MultiFormatter.new(
[
SimpleCov::Formatter::HTMLFormatter,
SimpleCov::Formatter::LcovFormatter,
]
)
SimpleCov.start do
add_filter 'spec/'
end
rescue LoadError
TRUTHY_VALUES = %w(t true yes y 1).freeze
require_simplecov = ENV.fetch('VAGRANT_LIBVIRT_REQUIRE_SIMPLECOV', 'false').to_s.downcase
if TRUTHY_VALUES.include?(require_simplecov)
raise
end
end
2016-04-13 12:11:16 +02:00
require 'rspec'
RSpec.configure do |config|
require 'tmpdir'
if ENV['VAGRANT_LIBVIRT_VAGRANT_HOME'].nil?
# set VAGRANT_HOME before any thing that requires vagrant is loaded to prevent
# the global plugin manager from trying to use the default VAGRANT_HOME.
temp_dir = Dir.mktmpdir("rspec-")
ENV['VAGRANT_HOME'] = temp_dir
config.after(:suite) do
FileUtils.remove_entry temp_dir
end
else
ENV['VAGRANT_HOME'] = ENV['VAGRANT_LIBVIRT_VAGRANT_HOME']
end
# acceptance tests need the boxes dir to exist to allow symlinking of isolated
# environments while allowing the boxes to be cached.
FileUtils.mkdir_p(File.join(ENV['VAGRANT_HOME'], 'boxes'))
# ensure that setting of LIBVIRT_DEFAULT_URI in the environment is not picked
# up directly by tests, instead they must set as needed. Some build envs will
# may have it set to 'qemu:///session'.
config.before(:suite) do
ENV.delete('LIBVIRT_DEFAULT_URI')
end
config.mock_with :rspec do |mocks|
mocks.verify_partial_doubles = true
end
# don't run acceptance tests by default
config.filter_run_excluding :acceptance => true
config.expect_with :rspec do |c|
c.max_formatted_output_length = 2000 if c.respond_to?("max_formatted_output_length=")
end
end
begin
require 'test-prof'
TestProf.configure do |config|
# use unique filenames for reports (by simply appending current timestamp)
config.timestamps = true
# color output
config.color = true
end
rescue LoadError
2014-07-04 11:09:00 -06:00
end
require 'vagrant-spec/unit'
Dir[File.dirname(__FILE__) + '/support/**/*.rb'].each { |f| require f }