Merge pull request #13562 from MikeMcQuaid/ruby_check_version_script_fix_and_test
utils/ruby_check_version_script: fix and test.
This commit is contained in:
		
						commit
						5400254946
					
				@ -0,0 +1,44 @@
 | 
				
			|||||||
 | 
					# typed: false
 | 
				
			||||||
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					describe Utils do
 | 
				
			||||||
 | 
					  describe "ruby_check_version_script" do
 | 
				
			||||||
 | 
					    subject do
 | 
				
			||||||
 | 
					      quiet_system "#{HOMEBREW_LIBRARY_PATH}/utils/ruby_check_version_script.rb", required_ruby_version
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    before do
 | 
				
			||||||
 | 
					      ENV.delete("HOMEBREW_DEVELOPER")
 | 
				
			||||||
 | 
					      ENV.delete("HOMEBREW_USE_RUBY_FROM_PATH")
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe "succeeds on Homebrew required Ruby version" do
 | 
				
			||||||
 | 
					      let(:required_ruby_version) { HOMEBREW_REQUIRED_RUBY_VERSION }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it { is_expected.to be true }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe "succeeds on newer mismatched major/minor required Ruby version and configurated environment" do
 | 
				
			||||||
 | 
					      let(:required_ruby_version) { "2.0.0" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      before do
 | 
				
			||||||
 | 
					        ENV["HOMEBREW_DEVELOPER"] = "1"
 | 
				
			||||||
 | 
					        ENV["HOMEBREW_USE_RUBY_FROM_PATH"] = "1"
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it { is_expected.to be true }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe "fails on on mismatched major/minor required Ruby version" do
 | 
				
			||||||
 | 
					      let(:required_ruby_version) { "1.2.3" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it { is_expected.to be false }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    describe "fails on invalid required Ruby version" do
 | 
				
			||||||
 | 
					      let(:required_ruby_version) { "fish" }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      it { is_expected.to be false }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
@ -1,4 +1,4 @@
 | 
				
			|||||||
#!/usr/bin/env ruby --enable-frozen-string-literal --disable=gems,did_you_mean,rubyopt
 | 
					#!/usr/bin/env ruby
 | 
				
			||||||
# typed: true
 | 
					# typed: true
 | 
				
			||||||
# frozen_string_literal: true
 | 
					# frozen_string_literal: true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -17,8 +17,8 @@ ruby_version_major, ruby_version_minor, = ruby_version.canonical_segments
 | 
				
			|||||||
homebrew_required_ruby_version_major, homebrew_required_ruby_version_minor, =
 | 
					homebrew_required_ruby_version_major, homebrew_required_ruby_version_minor, =
 | 
				
			||||||
  homebrew_required_ruby_version.canonical_segments
 | 
					  homebrew_required_ruby_version.canonical_segments
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if ENV["HOMEBREW_DEVELOPER"].present? &&
 | 
					if !ENV.fetch("HOMEBREW_DEVELOPER", "").empty? &&
 | 
				
			||||||
   ENV["HOMEBREW_USE_RUBY_FROM_PATH"].present? &&
 | 
					   !ENV.fetch("HOMEBREW_USE_RUBY_FROM_PATH", "").empty? &&
 | 
				
			||||||
   ruby_version >= homebrew_required_ruby_version
 | 
					   ruby_version >= homebrew_required_ruby_version
 | 
				
			||||||
  return
 | 
					  return
 | 
				
			||||||
elsif ruby_version_major != homebrew_required_ruby_version_major ||
 | 
					elsif ruby_version_major != homebrew_required_ruby_version_major ||
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user