Sha256: de5a0f1f193306a30a7a07ea97ea803840e03a5a884e1887a697b075093bcd14
Contents?: true
Size: 1.69 KB
Versions: 11
Compression:
Stored size: 1.69 KB
Contents
require 'colorize' def check_config_file(filename) # ASSUMPTION: We are running the RSpec suite from the root of a project tree update_config = true local_config_file = File.join(Dir.getwd, filename) if File.exist?(local_config_file) @message ||= [] latest_conf_path = File.expand_path("../../../../../#{filename}", __FILE__) latest_conf = File.read(latest_conf_path) @message << "macmillan-utils config file = #{latest_conf_path}" current_conf = File.read(local_config_file) @message << "current repo config file = #{local_config_file}" update_config = false if current_conf == latest_conf end File.open(local_config_file, 'w') { |file| file.print(latest_conf) } if update_config update_config end RSpec.configure do |config| config.order = 'random' # Exit the suite on the first failure config.fail_fast = true if ENV['FAIL_FAST'] config.before(:suite) do config_files = %w(.rubocop.yml) config_files << '.hound.yml' if ENV['MANAGE_HOUND'] config_updated = config_files.map { |file| check_config_file(file) }.any? if config_updated puts "\nWARNING: Your local config file(s) have been replaced with the versions \n"\ "from macmillan-utils gem, on the assumption macmillan-utils is up-to-date.\n"\ "\nIf you see this failure on *CI*, you may want to run *locally*: \n"\ "$ bundle update macmillan-utils \n"\ "before re-running the specs, then committing and pushing the updated configs.\n".red @message.each do |msg| puts "Please note: \n #{msg}".red end puts "\nYou can now re-run RSpec without this failure interfering.".red raise '...' end end end
Version data entries
11 entries across 11 versions & 1 rubygems