From 86ebf932aec7efaf6c86c59724e12f1256ab7c5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Rodr=C3=ADguez?= Date: Sat, 14 Sep 2019 19:18:31 +0200 Subject: Rename requirement_checker to filters And move filter configuration there. --- spec/spec_helper.rb | 22 ------------------ spec/support/filters.rb | 45 +++++++++++++++++++++++++++++++++++++ spec/support/requirement_checker.rb | 19 ---------------- 3 files changed, 45 insertions(+), 41 deletions(-) create mode 100644 spec/support/filters.rb delete mode 100644 spec/support/requirement_checker.rb diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6f7ea3f822..970d350dca 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -51,28 +51,6 @@ RSpec.configure do |config| config.bisect_runner = :shell - if ENV["BUNDLER_SUDO_TESTS"] && Spec::Sudo.present? - config.filter_run :sudo => true - else - config.filter_run_excluding :sudo => true - end - - if ENV["BUNDLER_REALWORLD_TESTS"] - config.filter_run :realworld => true - else - config.filter_run_excluding :realworld => true - end - - git_version = Bundler::Source::Git::GitProxy.new(nil, nil, nil).version - - config.filter_run_excluding :rubygems => RequirementChecker.against(Gem::VERSION) - config.filter_run_excluding :git => RequirementChecker.against(git_version) - config.filter_run_excluding :bundler => RequirementChecker.against(Bundler::VERSION.split(".")[0]) - config.filter_run_excluding :ruby_repo => !ENV["GEM_COMMAND"].nil? - config.filter_run_excluding :no_color_tty => Gem.win_platform? || !ENV["GITHUB_ACTION"].nil? - - config.filter_run_when_matching :focus unless ENV["CI"] - original_wd = Dir.pwd original_env = ENV.to_hash diff --git a/spec/support/filters.rb b/spec/support/filters.rb new file mode 100644 index 0000000000..4ce6648cdc --- /dev/null +++ b/spec/support/filters.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true + +require_relative "sudo" + +class RequirementChecker < Proc + def self.against(present) + provided = Gem::Version.new(present) + + new do |required| + !Gem::Requirement.new(required).satisfied_by?(provided) + end.tap do |checker| + checker.provided = provided + end + end + + attr_accessor :provided + + def inspect + "\"!= #{provided}\"" + end +end + +RSpec.configure do |config| + if ENV["BUNDLER_SUDO_TESTS"] && Spec::Sudo.present? + config.filter_run :sudo => true + else + config.filter_run_excluding :sudo => true + end + + if ENV["BUNDLER_REALWORLD_TESTS"] + config.filter_run :realworld => true + else + config.filter_run_excluding :realworld => true + end + + git_version = Bundler::Source::Git::GitProxy.new(nil, nil, nil).version + + config.filter_run_excluding :rubygems => RequirementChecker.against(Gem::VERSION) + config.filter_run_excluding :git => RequirementChecker.against(git_version) + config.filter_run_excluding :bundler => RequirementChecker.against(Bundler::VERSION.split(".")[0]) + config.filter_run_excluding :ruby_repo => !ENV["GEM_COMMAND"].nil? + config.filter_run_excluding :no_color_tty => Gem.win_platform? || !ENV["GITHUB_ACTION"].nil? + + config.filter_run_when_matching :focus unless ENV["CI"] +end diff --git a/spec/support/requirement_checker.rb b/spec/support/requirement_checker.rb deleted file mode 100644 index e6bd0eb50d..0000000000 --- a/spec/support/requirement_checker.rb +++ /dev/null @@ -1,19 +0,0 @@ -# frozen_string_literal: true - -class RequirementChecker < Proc - def self.against(present) - provided = Gem::Version.new(present) - - new do |required| - !Gem::Requirement.new(required).satisfied_by?(provided) - end.tap do |checker| - checker.provided = provided - end - end - - attr_accessor :provided - - def inspect - "\"!= #{provided}\"" - end -end -- cgit v1.2.1