Merge rubygems-3.0.2.
https://blog.rubygems.org/2019/01/01/3.0.2-released.html git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66678 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f77d381159
commit
6e7213f427
@ -9,7 +9,7 @@
|
||||
require 'rbconfig'
|
||||
|
||||
module Gem
|
||||
VERSION = "3.0.1".freeze
|
||||
VERSION = "3.0.2".freeze
|
||||
end
|
||||
|
||||
# Must be first since it unloads the prelude from 1.9.2
|
||||
|
@ -30,7 +30,7 @@ module Gem::InstallUpdateOptions
|
||||
options[:bin_dir] = File.expand_path(value)
|
||||
end
|
||||
|
||||
add_option(:"Install/Update", '--[no-]document [TYPES]', Array,
|
||||
add_option(:"Install/Update", '--document [TYPES]', Array,
|
||||
'Generate documentation for installed gems',
|
||||
'List the documentation types you wish to',
|
||||
'generate. For example: rdoc,ri') do |value, options|
|
||||
|
@ -267,7 +267,22 @@ class Gem::Requirement
|
||||
|
||||
def ==(other) # :nodoc:
|
||||
return unless Gem::Requirement === other
|
||||
requirements == other.requirements
|
||||
|
||||
# An == check is always necessary
|
||||
return false unless requirements == other.requirements
|
||||
|
||||
# An == check is sufficient unless any requirements use ~>
|
||||
return true unless _tilde_requirements.any?
|
||||
|
||||
# If any requirements use ~> we use the stricter `#eql?` that also checks
|
||||
# that version precision is the same
|
||||
_tilde_requirements.eql?(other._tilde_requirements)
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def _tilde_requirements
|
||||
requirements.select { |r| r.first == "~>" }
|
||||
end
|
||||
|
||||
private
|
||||
|
@ -150,6 +150,11 @@ class TestGem < Gem::TestCase
|
||||
File.umask(umask)
|
||||
end
|
||||
|
||||
def test_self_install_permissions_with_format_executable
|
||||
@format_executable = true
|
||||
assert_self_install_permissions
|
||||
end
|
||||
|
||||
def assert_self_install_permissions
|
||||
mask = /mingw|mswin/ =~ RUBY_PLATFORM ? 0700 : 0777
|
||||
options = {
|
||||
@ -157,6 +162,7 @@ class TestGem < Gem::TestCase
|
||||
:prog_mode => 0510,
|
||||
:data_mode => 0640,
|
||||
:wrappers => true,
|
||||
:format_executable => !!(@format_executable if defined?(@format_executable))
|
||||
}
|
||||
Dir.chdir @tempdir do
|
||||
Dir.mkdir 'bin'
|
||||
@ -182,8 +188,10 @@ class TestGem < Gem::TestCase
|
||||
prog_mode = (options[:prog_mode] & mask).to_s(8)
|
||||
dir_mode = (options[:dir_mode] & mask).to_s(8)
|
||||
data_mode = (options[:data_mode] & mask).to_s(8)
|
||||
prog_name = 'foo.cmd'
|
||||
prog_name = RUBY_INSTALL_NAME.sub('ruby', 'foo.cmd') if options[:format_executable]
|
||||
expected = {
|
||||
"bin/#{RUBY_INSTALL_NAME.sub('ruby', 'foo.cmd')}" => prog_mode,
|
||||
"bin/#{prog_name}" => prog_mode,
|
||||
'gems/foo-1' => dir_mode,
|
||||
'gems/foo-1/bin' => dir_mode,
|
||||
'gems/foo-1/data' => dir_mode,
|
||||
|
@ -20,6 +20,12 @@ class TestGemRequirement < Gem::TestCase
|
||||
refute_requirement_equal "= 1.2", "= 1.3"
|
||||
refute_requirement_equal "= 1.3", "= 1.2"
|
||||
|
||||
refute_requirement_equal "~> 1.3", "~> 1.3.0"
|
||||
refute_requirement_equal "~> 1.3.0", "~> 1.3"
|
||||
|
||||
assert_requirement_equal ["> 2", "~> 1.3"], ["> 2.0", "~> 1.3"]
|
||||
assert_requirement_equal ["> 2.0", "~> 1.3"], ["> 2", "~> 1.3"]
|
||||
|
||||
refute_equal Object.new, req("= 1.2")
|
||||
refute_equal req("= 1.2"), Object.new
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user