mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.
Please see entries of 2.6.3 on https://github.com/rubygems/rubygems/blob/master/History.txt git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54500 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
ea736d55f9
commit
469bac0f92
31 changed files with 212 additions and 187 deletions
|
@ -1,3 +1,9 @@
|
||||||
|
Wed Apr 6 15:00:27 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
|
||||||
|
|
||||||
|
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3.
|
||||||
|
Please see entries of 2.6.3 on
|
||||||
|
https://github.com/rubygems/rubygems/blob/master/History.txt
|
||||||
|
|
||||||
Wed Apr 6 14:13:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Wed Apr 6 14:13:28 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
|
* configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0)
|
||||||
|
|
|
@ -10,7 +10,7 @@ require 'rbconfig'
|
||||||
require 'thread'
|
require 'thread'
|
||||||
|
|
||||||
module Gem
|
module Gem
|
||||||
VERSION = '2.6.2'
|
VERSION = '2.6.3'
|
||||||
end
|
end
|
||||||
|
|
||||||
# Must be first since it unloads the prelude from 1.9.2
|
# Must be first since it unloads the prelude from 1.9.2
|
||||||
|
@ -374,8 +374,9 @@ module Gem
|
||||||
when Array
|
when Array
|
||||||
unless Gem::Deprecate.skip
|
unless Gem::Deprecate.skip
|
||||||
warn <<-eowarn
|
warn <<-eowarn
|
||||||
Array values in the parameter are deprecated. Please use a String or nil.
|
Array values in the parameter to `Gem.paths=` are deprecated.
|
||||||
An Array was passed in from #{caller[3]}
|
Please use a String or nil.
|
||||||
|
An Array (#{env.inspect}) was passed in from #{caller[3]}
|
||||||
eowarn
|
eowarn
|
||||||
end
|
end
|
||||||
target[k] = v.join File::PATH_SEPARATOR
|
target[k] = v.join File::PATH_SEPARATOR
|
||||||
|
|
|
@ -306,6 +306,8 @@ class Gem::BasicSpecification
|
||||||
raise NotImplementedError
|
raise NotImplementedError
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def this; self; end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
||||||
def have_extensions?; !extensions.empty?; end
|
def have_extensions?; !extensions.empty?; end
|
||||||
|
@ -323,5 +325,4 @@ class Gem::BasicSpecification
|
||||||
false
|
false
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -36,52 +36,6 @@ class Gem::Commands::InstallCommand < Gem::Command
|
||||||
add_version_option
|
add_version_option
|
||||||
add_prerelease_option "to be installed. (Only for listed gems)"
|
add_prerelease_option "to be installed. (Only for listed gems)"
|
||||||
|
|
||||||
add_option(:"Install/Update", '-g', '--file [FILE]',
|
|
||||||
'Read from a gem dependencies API file and',
|
|
||||||
'install the listed gems') do |v,o|
|
|
||||||
v = Gem::GEM_DEP_FILES.find do |file|
|
|
||||||
File.exist? file
|
|
||||||
end unless v
|
|
||||||
|
|
||||||
unless v then
|
|
||||||
message = v ? v : "(tried #{Gem::GEM_DEP_FILES.join ', '})"
|
|
||||||
|
|
||||||
raise OptionParser::InvalidArgument,
|
|
||||||
"cannot find gem dependencies file #{message}"
|
|
||||||
end
|
|
||||||
|
|
||||||
o[:gemdeps] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
add_option(:"Install/Update", '--without GROUPS', Array,
|
|
||||||
'Omit the named groups (comma separated)',
|
|
||||||
'when installing from a gem dependencies',
|
|
||||||
'file') do |v,o|
|
|
||||||
o[:without_groups].concat v.map { |without| without.intern }
|
|
||||||
end
|
|
||||||
|
|
||||||
add_option(:"Install/Update", '--default',
|
|
||||||
'Add the gem\'s full specification to',
|
|
||||||
'specifications/default and extract only its bin') do |v,o|
|
|
||||||
o[:install_as_default] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
add_option(:"Install/Update", '--explain',
|
|
||||||
'Rather than install the gems, indicate which would',
|
|
||||||
'be installed') do |v,o|
|
|
||||||
o[:explain] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
add_option(:"Install/Update", '--[no-]lock',
|
|
||||||
'Create a lock file (when used with -g/--file)') do |v,o|
|
|
||||||
o[:lock] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
add_option(:"Install/Update", '--[no-]suggestions',
|
|
||||||
'Suggest alternates when gems are not found') do |v,o|
|
|
||||||
o[:suggest_alternate] = v
|
|
||||||
end
|
|
||||||
|
|
||||||
@installed_specs = []
|
@installed_specs = []
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ permission to.
|
||||||
|
|
||||||
say "Owners for gem: #{name}"
|
say "Owners for gem: #{name}"
|
||||||
owners.each do |owner|
|
owners.each do |owner|
|
||||||
say "- #{owner['email']}"
|
say "- #{owner['email'] || owner['handle'] || owner['id']}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -97,4 +97,3 @@ permission to.
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -92,8 +92,8 @@ extensions will be restored.
|
||||||
spec.extensions and not spec.extensions.empty?
|
spec.extensions and not spec.extensions.empty?
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
get_all_gem_names.map do |gem_name|
|
get_all_gem_names.sort.map do |gem_name|
|
||||||
Gem::Specification.find_all_by_name gem_name, options[:version]
|
Gem::Specification.find_all_by_name(gem_name, options[:version]).reverse
|
||||||
end.flatten
|
end.flatten
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -247,7 +247,7 @@ is too hard to use.
|
||||||
spec_summary entry, spec
|
spec_summary entry, spec
|
||||||
end
|
end
|
||||||
|
|
||||||
def entry_versions entry, name_tuples, platforms
|
def entry_versions entry, name_tuples, platforms, specs
|
||||||
return unless options[:versions]
|
return unless options[:versions]
|
||||||
|
|
||||||
list =
|
list =
|
||||||
|
@ -256,7 +256,16 @@ is too hard to use.
|
||||||
else
|
else
|
||||||
platforms.sort.reverse.map do |version, pls|
|
platforms.sort.reverse.map do |version, pls|
|
||||||
if pls == [Gem::Platform::RUBY] then
|
if pls == [Gem::Platform::RUBY] then
|
||||||
version
|
if options[:domain] == :remote || specs.all? { |spec| spec.is_a? Gem::Source }
|
||||||
|
version
|
||||||
|
else
|
||||||
|
spec = specs.select { |spec| spec.version == version }
|
||||||
|
if spec.first.default_gem?
|
||||||
|
"default: #{version}"
|
||||||
|
else
|
||||||
|
version
|
||||||
|
end
|
||||||
|
end
|
||||||
else
|
else
|
||||||
ruby = pls.delete Gem::Platform::RUBY
|
ruby = pls.delete Gem::Platform::RUBY
|
||||||
platform_list = [ruby, *pls.sort].compact
|
platform_list = [ruby, *pls.sort].compact
|
||||||
|
@ -277,7 +286,7 @@ is too hard to use.
|
||||||
|
|
||||||
entry = [name_tuples.first.name]
|
entry = [name_tuples.first.name]
|
||||||
|
|
||||||
entry_versions entry, name_tuples, platforms
|
entry_versions entry, name_tuples, platforms, specs
|
||||||
entry_details entry, detail_tuple, specs, platforms
|
entry_details entry, detail_tuple, specs, platforms
|
||||||
|
|
||||||
entry.join
|
entry.join
|
||||||
|
|
|
@ -104,7 +104,7 @@ module Kernel
|
||||||
|
|
||||||
# Ok, now find a gem that has no conflicts, starting
|
# Ok, now find a gem that has no conflicts, starting
|
||||||
# at the highest version.
|
# at the highest version.
|
||||||
valid = found_specs.reject { |s| s.has_conflicts? }.last
|
valid = found_specs.reject { |s| s.has_conflicts? }.first
|
||||||
|
|
||||||
unless valid then
|
unless valid then
|
||||||
le = Gem::LoadError.new "unable to find a version of '#{names.first}' to activate"
|
le = Gem::LoadError.new "unable to find a version of '#{names.first}' to activate"
|
||||||
|
|
|
@ -286,9 +286,7 @@ class Gem::Dependency
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
# `stubs_for` returns oldest first, but `matching_specs` is supposed to
|
matches
|
||||||
# return newest first, so just reverse the list
|
|
||||||
matches.reverse
|
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
|
@ -307,18 +305,10 @@ class Gem::Dependency
|
||||||
specs = Gem::Specification.stubs_for name
|
specs = Gem::Specification.stubs_for name
|
||||||
|
|
||||||
if specs.empty?
|
if specs.empty?
|
||||||
total = Gem::Specification.stubs.size
|
raise Gem::MissingSpecError.new name, requirement
|
||||||
msg = "Could not find '#{name}' (#{requirement}) among #{total} total gem(s)\n".dup
|
|
||||||
else
|
else
|
||||||
specs = specs.map(&:full_name)
|
raise Gem::MissingSpecVersionError.new name, requirement, specs
|
||||||
msg = "Could not find '#{name}' (#{requirement}) - did find: [#{specs.join ','}]\n".dup
|
|
||||||
end
|
end
|
||||||
msg << "Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}', execute `gem env` for more information"
|
|
||||||
|
|
||||||
error = Gem::LoadError.new(msg)
|
|
||||||
error.name = self.name
|
|
||||||
error.requirement = self.requirement
|
|
||||||
raise error
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# TODO: any other resolver validations should go here
|
# TODO: any other resolver validations should go here
|
||||||
|
|
|
@ -20,6 +20,49 @@ module Gem
|
||||||
attr_accessor :requirement
|
attr_accessor :requirement
|
||||||
end
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Raised when trying to activate a gem, and that gem does not exist on the
|
||||||
|
# system. Instead of rescuing from this class, make sure to rescue from the
|
||||||
|
# superclass Gem::LoadError to catch all types of load errors.
|
||||||
|
class MissingSpecError < Gem::LoadError
|
||||||
|
def initialize name, requirement
|
||||||
|
@name = name
|
||||||
|
@requirement = requirement
|
||||||
|
end
|
||||||
|
|
||||||
|
def message # :nodoc:
|
||||||
|
build_message +
|
||||||
|
"Checked in 'GEM_PATH=#{Gem.path.join(File::PATH_SEPARATOR)}', execute `gem env` for more information"
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def build_message
|
||||||
|
total = Gem::Specification.stubs.size
|
||||||
|
"Could not find '#{name}' (#{requirement}) among #{total} total gem(s)\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
##
|
||||||
|
# Raised when trying to activate a gem, and the gem exists on the system, but
|
||||||
|
# not the requested version. Instead of rescuing from this class, make sure to
|
||||||
|
# rescue from the superclass Gem::LoadError to catch all types of load errors.
|
||||||
|
class MissingSpecVersionError < MissingSpecError
|
||||||
|
attr_reader :specs
|
||||||
|
|
||||||
|
def initialize name, requirement, specs
|
||||||
|
super(name, requirement)
|
||||||
|
@specs = specs
|
||||||
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def build_message
|
||||||
|
names = specs.map(&:full_name)
|
||||||
|
"Could not find '#{name}' (#{requirement}) - did find: [#{names.join ','}]\n"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
# Raised when there are conflicting gem specs loaded
|
# Raised when there are conflicting gem specs loaded
|
||||||
|
|
||||||
class ConflictError < LoadError
|
class ConflictError < LoadError
|
||||||
|
|
|
@ -180,6 +180,52 @@ module Gem::InstallUpdateOptions
|
||||||
options[:post_install_message] = value
|
options[:post_install_message] = value
|
||||||
end
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '-g', '--file [FILE]',
|
||||||
|
'Read from a gem dependencies API file and',
|
||||||
|
'install the listed gems') do |v,o|
|
||||||
|
v = Gem::GEM_DEP_FILES.find do |file|
|
||||||
|
File.exist? file
|
||||||
|
end unless v
|
||||||
|
|
||||||
|
unless v then
|
||||||
|
message = v ? v : "(tried #{Gem::GEM_DEP_FILES.join ', '})"
|
||||||
|
|
||||||
|
raise OptionParser::InvalidArgument,
|
||||||
|
"cannot find gem dependencies file #{message}"
|
||||||
|
end
|
||||||
|
|
||||||
|
options[:gemdeps] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '--without GROUPS', Array,
|
||||||
|
'Omit the named groups (comma separated)',
|
||||||
|
'when installing from a gem dependencies',
|
||||||
|
'file') do |v,o|
|
||||||
|
options[:without_groups].concat v.map { |without| without.intern }
|
||||||
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '--default',
|
||||||
|
'Add the gem\'s full specification to',
|
||||||
|
'specifications/default and extract only its bin') do |v,o|
|
||||||
|
options[:install_as_default] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '--explain',
|
||||||
|
'Rather than install the gems, indicate which would',
|
||||||
|
'be installed') do |v,o|
|
||||||
|
options[:explain] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '--[no-]lock',
|
||||||
|
'Create a lock file (when used with -g/--file)') do |v,o|
|
||||||
|
options[:lock] = v
|
||||||
|
end
|
||||||
|
|
||||||
|
add_option(:"Install/Update", '--[no-]suggestions',
|
||||||
|
'Suggest alternates when gems are not found') do |v,o|
|
||||||
|
options[:suggest_alternate] = v
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
##
|
##
|
||||||
|
|
|
@ -231,7 +231,7 @@ class Gem::Installer
|
||||||
question = "#{spec.name}'s executable \"#{filename}\" conflicts with ".dup
|
question = "#{spec.name}'s executable \"#{filename}\" conflicts with ".dup
|
||||||
|
|
||||||
if ruby_executable then
|
if ruby_executable then
|
||||||
question << existing
|
question << (existing || 'an unknown executable')
|
||||||
|
|
||||||
return if ask_yes_no "#{question}\nOverwrite the executable?", false
|
return if ask_yes_no "#{question}\nOverwrite the executable?", false
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@ class Gem::Request
|
||||||
def cert_files; @connection_pool.cert_files; end
|
def cert_files; @connection_pool.cert_files; end
|
||||||
|
|
||||||
def self.get_cert_files
|
def self.get_cert_files
|
||||||
pattern = File.expand_path("./ssl_certs/*.pem", File.dirname(__FILE__))
|
pattern = File.expand_path("./ssl_certs/*/*.pem", File.dirname(__FILE__))
|
||||||
Dir.glob(pattern)
|
Dir.glob(pattern)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -849,7 +849,7 @@ class Gem::Specification < Gem::BasicSpecification
|
||||||
pattern = "#{name}-*.gemspec"
|
pattern = "#{name}-*.gemspec"
|
||||||
stubs = default_stubs(pattern) + installed_stubs(dirs, pattern)
|
stubs = default_stubs(pattern) + installed_stubs(dirs, pattern)
|
||||||
stubs = uniq_by(stubs) { |stub| stub.full_name }.group_by(&:name)
|
stubs = uniq_by(stubs) { |stub| stub.full_name }.group_by(&:name)
|
||||||
stubs.each_value { |v| sort_by!(v) { |i| i.version } }
|
stubs.each_value { |v| _resort!(v) }
|
||||||
|
|
||||||
@@stubs_by_name.merge! stubs
|
@@stubs_by_name.merge! stubs
|
||||||
@@stubs_by_name[name] ||= EMPTY
|
@@stubs_by_name[name] ||= EMPTY
|
||||||
|
@ -1074,7 +1074,7 @@ class Gem::Specification < Gem::BasicSpecification
|
||||||
def self.find_in_unresolved_tree path
|
def self.find_in_unresolved_tree path
|
||||||
specs = unresolved_deps.values.map { |dep| dep.to_specs }.flatten
|
specs = unresolved_deps.values.map { |dep| dep.to_specs }.flatten
|
||||||
|
|
||||||
specs.reverse_each do |spec|
|
specs.each do |spec|
|
||||||
spec.traverse do |from_spec, dep, to_spec, trail|
|
spec.traverse do |from_spec, dep, to_spec, trail|
|
||||||
if to_spec.has_conflicts? || to_spec.conficts_when_loaded_with?(trail)
|
if to_spec.has_conflicts? || to_spec.conficts_when_loaded_with?(trail)
|
||||||
:next
|
:next
|
||||||
|
@ -2613,7 +2613,7 @@ class Gem::Specification < Gem::BasicSpecification
|
||||||
begin
|
begin
|
||||||
dependencies.each do |dep|
|
dependencies.each do |dep|
|
||||||
next unless dep.runtime?
|
next unless dep.runtime?
|
||||||
dep.to_specs.reverse_each do |dep_spec|
|
dep.to_specs.each do |dep_spec|
|
||||||
next if visited.has_key?(dep_spec)
|
next if visited.has_key?(dep_spec)
|
||||||
visited[dep_spec] = true
|
visited[dep_spec] = true
|
||||||
trail.push(dep_spec)
|
trail.push(dep_spec)
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIFdDCCBFygAwIBAgIQJ2buVutJ846r13Ci/ITeIjANBgkqhkiG9w0BAQwFADBv
|
|
||||||
MQswCQYDVQQGEwJTRTEUMBIGA1UEChMLQWRkVHJ1c3QgQUIxJjAkBgNVBAsTHUFk
|
|
||||||
ZFRydXN0IEV4dGVybmFsIFRUUCBOZXR3b3JrMSIwIAYDVQQDExlBZGRUcnVzdCBF
|
|
||||||
eHRlcm5hbCBDQSBSb290MB4XDTAwMDUzMDEwNDgzOFoXDTIwMDUzMDEwNDgzOFow
|
|
||||||
gYUxCzAJBgNVBAYTAkdCMRswGQYDVQQIExJHcmVhdGVyIE1hbmNoZXN0ZXIxEDAO
|
|
||||||
BgNVBAcTB1NhbGZvcmQxGjAYBgNVBAoTEUNPTU9ETyBDQSBMaW1pdGVkMSswKQYD
|
|
||||||
VQQDEyJDT01PRE8gUlNBIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIICIjANBgkq
|
|
||||||
hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAkehUktIKVrGsDSTdxc9EZ3SZKzejfSNw
|
|
||||||
AHG8U9/E+ioSj0t/EFa9n3Byt2F/yUsPF6c947AEYe7/EZfH9IY+Cvo+XPmT5jR6
|
|
||||||
2RRr55yzhaCCenavcZDX7P0N+pxs+t+wgvQUfvm+xKYvT3+Zf7X8Z0NyvQwA1onr
|
|
||||||
ayzT7Y+YHBSrfuXjbvzYqOSSJNpDa2K4Vf3qwbxstovzDo2a5JtsaZn4eEgwRdWt
|
|
||||||
4Q08RWD8MpZRJ7xnw8outmvqRsfHIKCxH2XeSAi6pE6p8oNGN4Tr6MyBSENnTnIq
|
|
||||||
m1y9TBsoilwie7SrmNnu4FGDwwlGTm0+mfqVF9p8M1dBPI1R7Qu2XK8sYxrfV8g/
|
|
||||||
vOldxJuvRZnio1oktLqpVj3Pb6r/SVi+8Kj/9Lit6Tf7urj0Czr56ENCHonYhMsT
|
|
||||||
8dm74YlguIwoVqwUHZwK53Hrzw7dPamWoUi9PPevtQ0iTMARgexWO/bTouJbt7IE
|
|
||||||
IlKVgJNp6I5MZfGRAy1wdALqi2cVKWlSArvX31BqVUa/oKMoYX9w0MOiqiwhqkfO
|
|
||||||
KJwGRXa/ghgntNWutMtQ5mv0TIZxMOmm3xaG4Nj/QN370EKIf6MzOi5cHkERgWPO
|
|
||||||
GHFrK+ymircxXDpqR+DDeVnWIBqv8mqYqnK8V0rSS527EPywTEHl7R09XiidnMy/
|
|
||||||
s1Hap0flhFMCAwEAAaOB9DCB8TAfBgNVHSMEGDAWgBStvZh6NLQm9/rEJlTvA73g
|
|
||||||
JMtUGjAdBgNVHQ4EFgQUu69+Aj36pvE8hI6t7jiY7NkyMtQwDgYDVR0PAQH/BAQD
|
|
||||||
AgGGMA8GA1UdEwEB/wQFMAMBAf8wEQYDVR0gBAowCDAGBgRVHSAAMEQGA1UdHwQ9
|
|
||||||
MDswOaA3oDWGM2h0dHA6Ly9jcmwudXNlcnRydXN0LmNvbS9BZGRUcnVzdEV4dGVy
|
|
||||||
bmFsQ0FSb290LmNybDA1BggrBgEFBQcBAQQpMCcwJQYIKwYBBQUHMAGGGWh0dHA6
|
|
||||||
Ly9vY3NwLnVzZXJ0cnVzdC5jb20wDQYJKoZIhvcNAQEMBQADggEBAGS/g/FfmoXQ
|
|
||||||
zbihKVcN6Fr30ek+8nYEbvFScLsePP9NDXRqzIGCJdPDoCpdTPW6i6FtxFQJdcfj
|
|
||||||
Jw5dhHk3QBN39bSsHNA7qxcS1u80GH4r6XnTq1dFDK8o+tDb5VCViLvfhVdpfZLY
|
|
||||||
Uspzgb8c8+a4bmYRBbMelC1/kZWSWfFMzqORcUx8Rww7Cxn2obFshj5cqsQugsv5
|
|
||||||
B5a6SE2Q8pTIqXOi6wZ7I53eovNNVZ96YUWYGGjHXkBrI/V5eu+MtWuLt29G9Hvx
|
|
||||||
PUsE2JOAWVrgQSQdso8VYFhH2+9uRv0V9dlfmrPb2LjkQLPNlzmuhbsdjrzch5vR
|
|
||||||
pu/xO28QOG8=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,14 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIICPDCCAaUCEHC65B0Q2Sk0tjjKewPMur8wDQYJKoZIhvcNAQECBQAwXzELMAkG
|
|
||||||
A1UEBhMCVVMxFzAVBgNVBAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFz
|
|
||||||
cyAzIFB1YmxpYyBQcmltYXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MB4XDTk2
|
|
||||||
MDEyOTAwMDAwMFoXDTI4MDgwMTIzNTk1OVowXzELMAkGA1UEBhMCVVMxFzAVBgNV
|
|
||||||
BAoTDlZlcmlTaWduLCBJbmMuMTcwNQYDVQQLEy5DbGFzcyAzIFB1YmxpYyBQcmlt
|
|
||||||
YXJ5IENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGfMA0GCSqGSIb3DQEBAQUAA4GN
|
|
||||||
ADCBiQKBgQDJXFme8huKARS0EN8EQNvjV69qRUCPhAwL0TPZ2RHP7gJYHyX3KqhE
|
|
||||||
BarsAx94f56TuZoAqiN91qyFomNFx3InzPRMxnVx0jnvT0Lwdd8KkMaOIG+YD/is
|
|
||||||
I19wKTakyYbnsZogy1Olhec9vn2a/iRFM9x2Fe0PonFkTGUugWhFpwIDAQABMA0G
|
|
||||||
CSqGSIb3DQEBAgUAA4GBALtMEivPLCYATxQT3ab7/AoRhIzzKBxnki98tsX63/Do
|
|
||||||
lbwdj2wsqFHMc9ikwFPwTtYmwHYBV4GSXiHx0bH/59AhWM1pF+NEHJwZRDmJXNyc
|
|
||||||
AA9WjQKZ7aKQRUzkuxCkPfAyAw7xzvjoyVGM5mKf5p/AfbdynMk2OmufTqj/ZA1k
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,28 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIE2DCCBEGgAwIBAgIEN0rSQzANBgkqhkiG9w0BAQUFADCBwzELMAkGA1UEBhMC
|
|
||||||
VVMxFDASBgNVBAoTC0VudHJ1c3QubmV0MTswOQYDVQQLEzJ3d3cuZW50cnVzdC5u
|
|
||||||
ZXQvQ1BTIGluY29ycC4gYnkgcmVmLiAobGltaXRzIGxpYWIuKTElMCMGA1UECxMc
|
|
||||||
KGMpIDE5OTkgRW50cnVzdC5uZXQgTGltaXRlZDE6MDgGA1UEAxMxRW50cnVzdC5u
|
|
||||||
ZXQgU2VjdXJlIFNlcnZlciBDZXJ0aWZpY2F0aW9uIEF1dGhvcml0eTAeFw05OTA1
|
|
||||||
MjUxNjA5NDBaFw0xOTA1MjUxNjM5NDBaMIHDMQswCQYDVQQGEwJVUzEUMBIGA1UE
|
|
||||||
ChMLRW50cnVzdC5uZXQxOzA5BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5j
|
|
||||||
b3JwLiBieSByZWYuIChsaW1pdHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBF
|
|
||||||
bnRydXN0Lm5ldCBMaW1pdGVkMTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUg
|
|
||||||
U2VydmVyIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MIGdMA0GCSqGSIb3DQEBAQUA
|
|
||||||
A4GLADCBhwKBgQDNKIM0VBuJ8w+vN5Ex/68xYMmo6LIQaO2f55M28Qpku0f1BBc/
|
|
||||||
I0dNxScZgSYMVHINiC3ZH5oSn7yzcdOAGT9HZnuMNSjSuQrfJNqc1lB5gXpa0zf3
|
|
||||||
wkrYKZImZNHkmGw6AIr1NJtl+O3jEP/9uElY3KDegjlrgbEWGWG5VLbmQwIBA6OC
|
|
||||||
AdcwggHTMBEGCWCGSAGG+EIBAQQEAwIABzCCARkGA1UdHwSCARAwggEMMIHeoIHb
|
|
||||||
oIHYpIHVMIHSMQswCQYDVQQGEwJVUzEUMBIGA1UEChMLRW50cnVzdC5uZXQxOzA5
|
|
||||||
BgNVBAsTMnd3dy5lbnRydXN0Lm5ldC9DUFMgaW5jb3JwLiBieSByZWYuIChsaW1p
|
|
||||||
dHMgbGlhYi4pMSUwIwYDVQQLExwoYykgMTk5OSBFbnRydXN0Lm5ldCBMaW1pdGVk
|
|
||||||
MTowOAYDVQQDEzFFbnRydXN0Lm5ldCBTZWN1cmUgU2VydmVyIENlcnRpZmljYXRp
|
|
||||||
b24gQXV0aG9yaXR5MQ0wCwYDVQQDEwRDUkwxMCmgJ6AlhiNodHRwOi8vd3d3LmVu
|
|
||||||
dHJ1c3QubmV0L0NSTC9uZXQxLmNybDArBgNVHRAEJDAigA8xOTk5MDUyNTE2MDk0
|
|
||||||
MFqBDzIwMTkwNTI1MTYwOTQwWjALBgNVHQ8EBAMCAQYwHwYDVR0jBBgwFoAU8Bdi
|
|
||||||
E1U9s/8KAGv7UISX8+1i0BowHQYDVR0OBBYEFPAXYhNVPbP/CgBr+1CEl/PtYtAa
|
|
||||||
MAwGA1UdEwQFMAMBAf8wGQYJKoZIhvZ9B0EABAwwChsEVjQuMAMCBJAwDQYJKoZI
|
|
||||||
hvcNAQEFBQADgYEAkNwwAvpkdMKnCqV8IY00F6j7Rw7/JXyNEwr75Ji174z4xRAN
|
|
||||||
95K+8cPV1ZVqBLssziY2ZcgxxufuP+NXdYR6Ee9GTxj005i7qIcyunL2POI9n9cd
|
|
||||||
2cNgQ4xYDiKWL2KjLB+6rQXvqzJ4h6BUcxm1XAX5Uj5tLUUL9wqT6u0G+bI=
|
|
||||||
-----END CERTIFICATE-----
|
|
|
@ -1,20 +0,0 @@
|
||||||
-----BEGIN CERTIFICATE-----
|
|
||||||
MIIDVDCCAjygAwIBAgIDAjRWMA0GCSqGSIb3DQEBBQUAMEIxCzAJBgNVBAYTAlVT
|
|
||||||
MRYwFAYDVQQKEw1HZW9UcnVzdCBJbmMuMRswGQYDVQQDExJHZW9UcnVzdCBHbG9i
|
|
||||||
YWwgQ0EwHhcNMDIwNTIxMDQwMDAwWhcNMjIwNTIxMDQwMDAwWjBCMQswCQYDVQQG
|
|
||||||
EwJVUzEWMBQGA1UEChMNR2VvVHJ1c3QgSW5jLjEbMBkGA1UEAxMSR2VvVHJ1c3Qg
|
|
||||||
R2xvYmFsIENBMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2swYYzD9
|
|
||||||
9BcjGlZ+W988bDjkcbd4kdS8odhM+KhDtgPpTSEHCIjaWC9mOSm9BXiLnTjoBbdq
|
|
||||||
fnGk5sRgprDvgOSJKA+eJdbtg/OtppHHmMlCGDUUna2YRpIuT8rxh0PBFpVXLVDv
|
|
||||||
iS2Aelet8u5fa9IAjbkU+BQVNdnARqN7csiRv8lVK83Qlz6cJmTM386DGXHKTubU
|
|
||||||
1XupGc1V3sjs0l44U+VcT4wt/lAjNvxm5suOpDkZALeVAjmRCw7+OC7RHQWa9k0+
|
|
||||||
bw8HHa8sHo9gOeL6NlMTOdReJivbPagUvTLrGAMoUgRx5aszPeE4uwc2hGKceeoW
|
|
||||||
MPRfwCvocWvk+QIDAQABo1MwUTAPBgNVHRMBAf8EBTADAQH/MB0GA1UdDgQWBBTA
|
|
||||||
ephojYn7qwVkDBF9qn1luMrMTjAfBgNVHSMEGDAWgBTAephojYn7qwVkDBF9qn1l
|
|
||||||
uMrMTjANBgkqhkiG9w0BAQUFAAOCAQEANeMpauUvXVSOKVCUn5kaFOSPeCpilKIn
|
|
||||||
Z57QzxpeR+nBsqTP3UEaBU6bS+5Kb1VSsyShNwrrZHYqLizz/Tt1kL/6cdjHPTfS
|
|
||||||
tQWVYrmm3ok9Nns4d0iXrKYgjy6myQzCsplFAMfOEVEiIuCl6rYVSAlk6l5PdPcF
|
|
||||||
PseKUgzbFbS9bZvlxrFUaKnjaZC2mqUPuLk/IH2uSrW4nOQdtqvmlKXBx4Ot2/Un
|
|
||||||
hw4EbNX/3aBd7YdStysVAq45pmp06drE57xNNB6pXE0zX5IJL4hmXXeXxx12E6nV
|
|
||||||
5fEWCRE11azbJHFwLJhWC9kXtNHjUStedejV0NxPNO3CBWaAocvmMw==
|
|
||||||
-----END CERTIFICATE-----
|
|
18
lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRoot.pem
Normal file
18
lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRoot.pem
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
|
||||||
|
GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
|
||||||
|
b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
|
||||||
|
BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
|
||||||
|
VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
|
||||||
|
DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
|
||||||
|
THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
|
||||||
|
Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
|
||||||
|
c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
|
||||||
|
gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
|
||||||
|
HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
|
||||||
|
AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
|
||||||
|
Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
|
||||||
|
j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
|
||||||
|
hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
|
||||||
|
X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
|
||||||
|
-----END CERTIFICATE-----
|
|
@ -89,8 +89,6 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def this; self; end
|
|
||||||
|
|
||||||
def default_gem?
|
def default_gem?
|
||||||
@default_gem
|
@default_gem
|
||||||
end
|
end
|
||||||
|
@ -212,4 +210,3 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
||||||
end
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,7 @@ if ENV["TRAVIS"] || ENV["TEST_SSL"]
|
||||||
store = OpenSSL::X509::Store.new
|
store = OpenSSL::X509::Store.new
|
||||||
|
|
||||||
ssl_cert_glob =
|
ssl_cert_glob =
|
||||||
File.expand_path '../../../lib/rubygems/ssl_certs/*.pem', THIS_FILE
|
File.expand_path '../../../lib/rubygems/ssl_certs/*/*.pem', THIS_FILE
|
||||||
|
|
||||||
Dir[ssl_cert_glob].each do |ssl_cert|
|
Dir[ssl_cert_glob].each do |ssl_cert|
|
||||||
store.add_file ssl_cert
|
store.add_file ssl_cert
|
||||||
|
@ -55,5 +55,9 @@ if ENV["TRAVIS"] || ENV["TEST_SSL"]
|
||||||
assert_https('rubygems.global.ssl.fastly.net')
|
assert_https('rubygems.global.ssl.fastly.net')
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_accessing_new_index
|
||||||
|
assert_https('fastly.rubygems.org')
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -973,6 +973,19 @@ class TestGem < Gem::TestCase
|
||||||
assert Gem.try_activate('b'), 'try_activate should still return true'
|
assert Gem.try_activate('b'), 'try_activate should still return true'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_spec_order_is_consistent
|
||||||
|
b1 = util_spec 'b', '1.0'
|
||||||
|
b2 = util_spec 'b', '2.0'
|
||||||
|
b3 = util_spec 'b', '3.0'
|
||||||
|
|
||||||
|
install_specs b1, b2, b3
|
||||||
|
|
||||||
|
specs1 = Gem::Specification.stubs.find_all { |s| s.name == 'b' }
|
||||||
|
Gem::Specification.reset
|
||||||
|
specs2 = Gem::Specification.stubs_for('b')
|
||||||
|
assert_equal specs1.map(&:version), specs2.map(&:version)
|
||||||
|
end
|
||||||
|
|
||||||
def test_self_try_activate_missing_dep
|
def test_self_try_activate_missing_dep
|
||||||
b = util_spec 'b', '1.0'
|
b = util_spec 'b', '1.0'
|
||||||
a = util_spec 'a', '1.0', 'b' => '>= 1.0'
|
a = util_spec 'a', '1.0', 'b' => '>= 1.0'
|
||||||
|
@ -986,7 +999,7 @@ class TestGem < Gem::TestCase
|
||||||
io.puts '# a_file.rb'
|
io.puts '# a_file.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
e = assert_raises Gem::LoadError do
|
e = assert_raises Gem::MissingSpecError do
|
||||||
Gem.try_activate 'a_file'
|
Gem.try_activate 'a_file'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1006,7 +1019,7 @@ class TestGem < Gem::TestCase
|
||||||
io.puts '# a_file.rb'
|
io.puts '# a_file.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
e = assert_raises Gem::LoadError do
|
e = assert_raises Gem::MissingSpecError do
|
||||||
Gem.try_activate 'a_file'
|
Gem.try_activate 'a_file'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -1070,7 +1083,7 @@ class TestGem < Gem::TestCase
|
||||||
'GEM_PATH' => [Gem.paths.home, 'foo'] }
|
'GEM_PATH' => [Gem.paths.home, 'foo'] }
|
||||||
end
|
end
|
||||||
assert_equal [Gem.paths.home, 'foo'], Gem.paths.path
|
assert_equal [Gem.paths.home, 'foo'], Gem.paths.path
|
||||||
assert_match(/Array values in the parameter are deprecated. Please use a String or nil/, stderr)
|
assert_match(/Array values in the parameter to `Gem.paths=` are deprecated.\nPlease use a String or nil/m, stderr)
|
||||||
assert_equal '', stdout
|
assert_equal '', stdout
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@ class TestGemCommandsEnvironmentCommand < Gem::TestCase
|
||||||
end
|
end
|
||||||
|
|
||||||
assert_match %r|RUBYGEMS VERSION: (\d\.)+\d|, @ui.output
|
assert_match %r|RUBYGEMS VERSION: (\d\.)+\d|, @ui.output
|
||||||
assert_match %r|RUBY VERSION: \d\.\d\.\d \(.*\) \[.*\]|, @ui.output
|
assert_match %r|RUBY VERSION: \d+\.\d+\.\d+ \(.*\) \[.*\]|, @ui.output
|
||||||
assert_match %r|INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}|,
|
assert_match %r|INSTALLATION DIRECTORY: #{Regexp.escape @gemhome}|,
|
||||||
@ui.output
|
@ui.output
|
||||||
assert_match %r|RUBYGEMS PREFIX: |, @ui.output
|
assert_match %r|RUBYGEMS PREFIX: |, @ui.output
|
||||||
|
|
|
@ -19,7 +19,12 @@ class TestGemCommandsOwnerCommand < Gem::TestCase
|
||||||
response = <<EOF
|
response = <<EOF
|
||||||
---
|
---
|
||||||
- email: user1@example.com
|
- email: user1@example.com
|
||||||
|
id: 1
|
||||||
|
handle: user1
|
||||||
- email: user2@example.com
|
- email: user2@example.com
|
||||||
|
- id: 3
|
||||||
|
handle: user3
|
||||||
|
- id: 4
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
@fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners.yaml"] = [response, 200, 'OK']
|
@fetcher.data["#{Gem.host}/api/v1/gems/freewill/owners.yaml"] = [response, 200, 'OK']
|
||||||
|
@ -34,6 +39,8 @@ EOF
|
||||||
assert_match %r{Owners for gem: freewill}, @ui.output
|
assert_match %r{Owners for gem: freewill}, @ui.output
|
||||||
assert_match %r{- user1@example.com}, @ui.output
|
assert_match %r{- user1@example.com}, @ui.output
|
||||||
assert_match %r{- user2@example.com}, @ui.output
|
assert_match %r{- user2@example.com}, @ui.output
|
||||||
|
assert_match %r{- user3}, @ui.output
|
||||||
|
assert_match %r{- 4}, @ui.output
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_show_owners_setting_up_host_through_env_var
|
def test_show_owners_setting_up_host_through_env_var
|
||||||
|
|
|
@ -537,6 +537,26 @@ a (2 universal-darwin, 1 ruby x86-linux)
|
||||||
assert_equal '', @ui.error
|
assert_equal '', @ui.error
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_execute_show_default_gems
|
||||||
|
spec_fetcher { |fetcher| fetcher.spec 'a', 2 }
|
||||||
|
|
||||||
|
a1 = new_default_spec 'a', 1
|
||||||
|
install_default_specs a1
|
||||||
|
|
||||||
|
use_ui @ui do
|
||||||
|
@cmd.execute
|
||||||
|
end
|
||||||
|
|
||||||
|
expected = <<-EOF
|
||||||
|
|
||||||
|
*** LOCAL GEMS ***
|
||||||
|
|
||||||
|
a (2, default: 1)
|
||||||
|
EOF
|
||||||
|
|
||||||
|
assert_equal expected, @ui.output
|
||||||
|
end
|
||||||
|
|
||||||
def test_execute_default_details
|
def test_execute_default_details
|
||||||
spec_fetcher do |fetcher|
|
spec_fetcher do |fetcher|
|
||||||
fetcher.spec 'a', 2
|
fetcher.spec 'a', 2
|
||||||
|
|
|
@ -14,16 +14,16 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
||||||
@cmd.options[:prefix] = @install_dir
|
@cmd.options[:prefix] = @install_dir
|
||||||
|
|
||||||
FileUtils.mkdir_p 'bin'
|
FileUtils.mkdir_p 'bin'
|
||||||
FileUtils.mkdir_p 'lib/rubygems/ssl_certs'
|
FileUtils.mkdir_p 'lib/rubygems/ssl_certs/rubygems.org'
|
||||||
|
|
||||||
open 'bin/gem', 'w' do |io| io.puts '# gem' end
|
open 'bin/gem', 'w' do |io| io.puts '# gem' end
|
||||||
open 'lib/rubygems.rb', 'w' do |io| io.puts '# rubygems.rb' end
|
open 'lib/rubygems.rb', 'w' do |io| io.puts '# rubygems.rb' end
|
||||||
open 'lib/rubygems/test_case.rb', 'w' do |io| io.puts '# test_case.rb' end
|
open 'lib/rubygems/test_case.rb', 'w' do |io| io.puts '# test_case.rb' end
|
||||||
open 'lib/rubygems/ssl_certs/foo.pem', 'w' do |io| io.puts 'PEM' end
|
open 'lib/rubygems/ssl_certs/rubygems.org/foo.pem', 'w' do |io| io.puts 'PEM' end
|
||||||
end
|
end
|
||||||
|
|
||||||
def test_pem_files_in
|
def test_pem_files_in
|
||||||
assert_equal %w[rubygems/ssl_certs/foo.pem],
|
assert_equal %w[rubygems/ssl_certs/rubygems.org/foo.pem],
|
||||||
@cmd.pem_files_in('lib').sort
|
@cmd.pem_files_in('lib').sort
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ class TestGemCommandsSetupCommand < Gem::TestCase
|
||||||
@cmd.install_lib dir
|
@cmd.install_lib dir
|
||||||
|
|
||||||
assert_path_exists File.join(dir, 'rubygems.rb')
|
assert_path_exists File.join(dir, 'rubygems.rb')
|
||||||
assert_path_exists File.join(dir, 'rubygems/ssl_certs/foo.pem')
|
assert_path_exists File.join(dir, 'rubygems/ssl_certs/rubygems.org/foo.pem')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -331,7 +331,7 @@ class TestGemDependency < Gem::TestCase
|
||||||
|
|
||||||
dep = Gem::Dependency.new "a", "= 2.0"
|
dep = Gem::Dependency.new "a", "= 2.0"
|
||||||
|
|
||||||
e = assert_raises Gem::LoadError do
|
e = assert_raises Gem::MissingSpecVersionError do
|
||||||
dep.to_specs
|
dep.to_specs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -350,7 +350,7 @@ class TestGemDependency < Gem::TestCase
|
||||||
|
|
||||||
dep = Gem::Dependency.new "b", "= 2.0"
|
dep = Gem::Dependency.new "b", "= 2.0"
|
||||||
|
|
||||||
e = assert_raises Gem::LoadError do
|
e = assert_raises Gem::MissingSpecError do
|
||||||
dep.to_specs
|
dep.to_specs
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -100,6 +100,17 @@ end
|
||||||
load 'rubygems/syck_hack.rb'
|
load 'rubygems/syck_hack.rb'
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_self_find_active_stub_by_path
|
||||||
|
spec = new_spec('a', '1', nil, 'lib/foo.rb')
|
||||||
|
spec.activated = true
|
||||||
|
|
||||||
|
# There used to be a bug (introduced in a9c1aaf) when Gem::Specification
|
||||||
|
# objects are present in the @stubs collection. This test verifies that
|
||||||
|
# this scenario works correctly.
|
||||||
|
Gem::Specification.all = [spec]
|
||||||
|
Gem::Specification.find_active_stub_by_path('foo')
|
||||||
|
end
|
||||||
|
|
||||||
def test_self_activate
|
def test_self_activate
|
||||||
foo = util_spec 'foo', '1'
|
foo = util_spec 'foo', '1'
|
||||||
|
|
||||||
|
@ -3373,7 +3384,7 @@ end
|
||||||
assert Gem::Specification.find_by_name "a", "1"
|
assert Gem::Specification.find_by_name "a", "1"
|
||||||
assert Gem::Specification.find_by_name "a", ">1"
|
assert Gem::Specification.find_by_name "a", ">1"
|
||||||
|
|
||||||
assert_raises Gem::LoadError do
|
assert_raises Gem::MissingSpecError do
|
||||||
Gem::Specification.find_by_name "monkeys"
|
Gem::Specification.find_by_name "monkeys"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -3387,7 +3398,7 @@ end
|
||||||
|
|
||||||
assert Gem::Specification.find_by_name "b"
|
assert Gem::Specification.find_by_name "b"
|
||||||
|
|
||||||
assert_raises Gem::LoadError do
|
assert_raises Gem::MissingSpecVersionError do
|
||||||
Gem::Specification.find_by_name "b", "1"
|
Gem::Specification.find_by_name "b", "1"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -66,7 +66,7 @@ class TestKernel < Gem::TestCase
|
||||||
|
|
||||||
def test_gem_env_req
|
def test_gem_env_req
|
||||||
ENV["GEM_REQUIREMENT_A"] = '~> 2.0'
|
ENV["GEM_REQUIREMENT_A"] = '~> 2.0'
|
||||||
assert_raises(Gem::LoadError) { gem('a', '= 1') }
|
assert_raises(Gem::MissingSpecVersionError) { gem('a', '= 1') }
|
||||||
assert gem('a', '> 1')
|
assert gem('a', '> 1')
|
||||||
assert_equal @a2, Gem.loaded_specs['a']
|
assert_equal @a2, Gem.loaded_specs['a']
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Reference in a new issue