diff options
-rw-r--r-- | spec/commands/exec_spec.rb | 26 | ||||
-rw-r--r-- | spec/spec_helper.rb | 9 | ||||
-rw-r--r-- | spec/support/less_than_proc.rb | 20 | ||||
-rw-r--r-- | spec/support/requirement_checker.rb | 11 |
4 files changed, 18 insertions, 48 deletions
diff --git a/spec/commands/exec_spec.rb b/spec/commands/exec_spec.rb index fd76caf2c4..08049cefb8 100644 --- a/spec/commands/exec_spec.rb +++ b/spec/commands/exec_spec.rb @@ -537,11 +537,6 @@ RSpec.describe "bundle exec" do let(:executable) do ex = super() ex << "\n" - if LessThanProc.with(RUBY_VERSION).call("1.9") - # Ruby < 1.9 needs a flush for a exit by signal, later - # rubies do not - ex << "STDOUT.flush\n" - end ex << "raise SignalException, 'SIGTERM'\n" ex end @@ -560,13 +555,8 @@ RSpec.describe "bundle exec" do let(:exit_code) { 0 } let(:expected) { "#{path} is empty" } let(:expected_err) { "" } - if LessThanProc.with(RUBY_VERSION).call("1.9") - # Kernel#exec in ruby < 1.9 will raise Errno::ENOEXEC if the command content is empty, - # even if the command is set as an executable. - pending "Kernel#exec is different" - else - it_behaves_like "it runs" - end + + it_behaves_like "it runs" end context "the executable is empty", :bundler => "2" do @@ -694,21 +684,13 @@ __FILE__: #{path.to_s.inspect} context "when the path is relative" do let(:path) { super().relative_path_from(bundled_app) } - if LessThanProc.with(RUBY_VERSION).call("1.9") - pending "relative paths have ./ __FILE__" - else - it_behaves_like "it runs" - end + it_behaves_like "it runs" end context "when the path is relative with a leading ./" do let(:path) { Pathname.new("./#{super().relative_path_from(Pathname.pwd)}") } - if LessThanProc.with(RUBY_VERSION).call("< 1.9") - pending "relative paths with ./ have absolute __FILE__" - else - it_behaves_like "it runs" - end + pending "relative paths with ./ have absolute __FILE__" end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index dbfeb30db7..92de792b1d 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -84,13 +84,10 @@ RSpec.configure do |config| config.filter_run_excluding :realworld => true end - git_version = Bundler::Source::Git::GitProxy.new(nil, nil, nil).version - - config.filter_run_excluding :ruby => LessThanProc.with(RUBY_VERSION) - config.filter_run_excluding :rubygems => LessThanProc.with(Gem::VERSION) - config.filter_run_excluding :git => LessThanProc.with(git_version) + config.filter_run_excluding :ruby => RequirementChecker.against(RUBY_VERSION) + config.filter_run_excluding :rubygems => RequirementChecker.against(Gem::VERSION) config.filter_run_excluding :rubygems_master => (ENV["RGV"] != "master") - config.filter_run_excluding :bundler => LessThanProc.with(Bundler::VERSION.split(".")[0, 2].join(".")) + config.filter_run_excluding :bundler => RequirementChecker.against(Bundler::VERSION.split(".")[0]) config.filter_run_excluding :ruby_repo => !(ENV["BUNDLE_RUBY"] && ENV["BUNDLE_GEM"]).nil? config.filter_run_when_matching :focus unless ENV["CI"] diff --git a/spec/support/less_than_proc.rb b/spec/support/less_than_proc.rb deleted file mode 100644 index 68d37b44c9..0000000000 --- a/spec/support/less_than_proc.rb +++ /dev/null @@ -1,20 +0,0 @@ -# frozen_string_literal: true - -class LessThanProc < Proc - attr_accessor :present - - def self.with(present) - provided = Gem::Version.new(present.dup) - new do |required| - if required.is_a?(String) && required =~ /[=><~]/ - !Gem::Requirement.new(required).satisfied_by?(provided) - else - provided < Gem::Version.new(required) - end - end.tap {|l| l.present = present } - end - - def inspect - "\"=< #{present}\"" - end -end diff --git a/spec/support/requirement_checker.rb b/spec/support/requirement_checker.rb new file mode 100644 index 0000000000..d8f5fd5e5f --- /dev/null +++ b/spec/support/requirement_checker.rb @@ -0,0 +1,11 @@ +# 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 + end +end |