mirror of
https://github.com/rapid7/metasploit-framework
synced 2024-10-29 18:07:27 +01:00
633b4b9e51
MSP-11671 `bundler install --without coverage` will not install `simplecov`. Running without simplecov changes the average runtime of `rake cucumber:boot` from (n=13) 112.50 seconds to (n=10) 32.17 seconds (-71.41%). (-73.68% from 2c1203ba49d49603aec169eed053ab929ccdedc6.) Raw data: https://docs.google.com/spreadsheets/d/1vCRi_38Go3Wfq670eDCXMTSSXL1blSbk6NQsgpOqfYw/edit?usp=sharing.
65 lines
2.0 KiB
Ruby
65 lines
2.0 KiB
Ruby
# -*- coding: binary -*-
|
|
ENV['RAILS_ENV'] = 'test'
|
|
|
|
unless Bundler.settings.without.include?(:coverage)
|
|
require 'simplecov'
|
|
end
|
|
|
|
# @note must be before loading config/environment because railtie needs to be loaded before
|
|
# `Metasploit::Framework::Application.initialize!` is called.
|
|
#
|
|
# Must be explicit as activerecord is optional dependency
|
|
require 'active_record/railtie'
|
|
|
|
require File.expand_path('../../config/environment', __FILE__)
|
|
|
|
# Don't `require 'rspec/rails'` as it includes support for pieces of rails that metasploit-framework doesn't use
|
|
require 'rspec/core'
|
|
require 'rails/version'
|
|
require 'rspec/rails/adapters'
|
|
require 'rspec/rails/extensions'
|
|
require 'rspec/rails/fixture_support'
|
|
require 'rspec/rails/matchers'
|
|
require 'rspec/rails/mocks'
|
|
|
|
require 'metasploit/framework/spec'
|
|
|
|
FILE_FIXTURES_PATH = File.expand_path(File.dirname(__FILE__)) + '/file_fixtures/'
|
|
|
|
# Load the shared examples from the following engines
|
|
engines = [
|
|
Metasploit::Concern,
|
|
Rails
|
|
]
|
|
|
|
# Requires supporting ruby files with custom matchers and macros, etc,
|
|
# in spec/support/ and its subdirectories.
|
|
engines.each do |engine|
|
|
support_glob = engine.root.join('spec', 'support', '**', '*.rb')
|
|
Dir[support_glob].each { |f|
|
|
require f
|
|
}
|
|
end
|
|
|
|
RSpec.configure do |config|
|
|
config.mock_with :rspec do |mocks|
|
|
mocks.yield_receiver_to_any_instance_implementation_blocks = true
|
|
end
|
|
|
|
# Run specs in random order to surface order dependencies. If you find an
|
|
# order dependency and want to debug it, you can fix the order by providing
|
|
# the seed, which is printed after each run.
|
|
# --seed 1234
|
|
config.order = 'random'
|
|
|
|
config.treat_symbols_as_metadata_keys_with_true_values = true
|
|
|
|
# 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 = true
|
|
end
|
|
|
|
Metasploit::Framework::Spec::Constants::Suite.configure!
|
|
Metasploit::Framework::Spec::Threads::Suite.configure!
|