rubygems-update 2.0.2 → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of rubygems-update might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55828383c26eb529d41e882bc3bf284931fd84d1
4
- data.tar.gz: a64439fc94a099fb4342ebb47e4361835d0b326f
3
+ metadata.gz: 3715c090bb9c46a51a84c8eca827fd3bd7ac44c8
4
+ data.tar.gz: 80c3d4c9042d3c70b4f4581ccbbe6d13608f6b8c
5
5
  SHA512:
6
- metadata.gz: 703c84109f6bab51f52d97cfda5dbed84401bd1284c0b8c387d5c1bbded19911060989f56b0927a2cf8200bc678fd7464e1f39150b68767c0bfc8181a7753cb3
7
- data.tar.gz: 58a92fc46f3852195fc1dd2c437b0043245ed6ba3a2af7baf8fe0bee39d9532d88ea711fb8bcd4fa5b9c6f305f16fd34627edec685f42178b232a2fa2a7ca45b
6
+ metadata.gz: 56f3726b20096af80cc5772b838ff6ff4eb44fb0479d6855795730d163f07635a7a854bf2cc4ea9dee77cd6b83ced4c47af7e805496aff6c2fefe318b3cdc162
7
+ data.tar.gz: 1960e19c702fcdea527e28e95c9f94b3eb790fa58eb9dcb57073516524e23e46db38e5310903f0f009ae50dd121157e48c5130b7f88cf40759d519244e29d4bf
Binary file
data.tar.gz.sig CHANGED
Binary file
data/.autotest CHANGED
@@ -37,7 +37,6 @@ class Autotest
37
37
  def path_to_classname s
38
38
  classname = old_path_to_classname(s.sub(/test.rubygems.test_/, ""))
39
39
  classname = classname.gsub('Rdoc', 'RDoc')
40
- classname = classname.gsub('Api', 'API')
41
40
 
42
41
  classname
43
42
  end
@@ -1,16 +1,33 @@
1
1
  # coding: UTF-8
2
2
 
3
+ === 2.0.3 / 2012-03-1
4
+
5
+ * Bug fixes:
6
+ * Reverted automatic upgrade to HTTPS as it breaks RubyGems APIs. Fixes
7
+ #506 by André Arko
8
+ * Use File.realpath to remove extra / while checking if files are
9
+ installable. Issue #508 by Jacob Evans.
10
+ * When installing RubyGems on JRuby, the standard library is no longer
11
+ deleted. Fixes #504 by Juan Sanchez, #507 by Charles Oliver Nutter.
12
+ * When building extconf.rb extensions use the intermediate destination
13
+ directory. This addresses further issues with C extension building.
14
+ * Use the absolute path to the generated siteconf in case the extension
15
+ changes directories to run extconf.rb (like memcached). Fixes #498 by
16
+ Chris Morris.
17
+ * Fixed default gem key and cert locations. Pull request #511 by Samuel
18
+ Cochran.
19
+
3
20
  === 2.0.2 / 2013-03-06
4
21
 
5
22
  * Bug fixes:
23
+ * HTTPS URLs are preferred over HTTP URLs. RubyGems will now attempt to
24
+ upgrade any HTTP source to HTTPS. Credit to Alex Gaynor.
6
25
  * SSL Certificates are now installed properly. Fixes #491 by hemanth.hm
7
26
  * Fixed HTTP to HTTPS upgrade for rubygems.org.
8
27
 
9
28
  === 2.0.1 / 2013-03-05
10
29
 
11
30
  * Bug fixes:
12
- * HTTPS URLs are preferred over HTTP URLs. RubyGems will now attempt to
13
- upgrade any HTTP source to HTTPS. Credit to Alex Gaynor.
14
31
  * Lazily load RubyGems.org API credentials to avoid failure during
15
32
  RubyGems installation. Bug #465 by Isaac Sanders.
16
33
  * RubyGems now picks the latest prerelease to install. Fixes bug #468 by
@@ -205,7 +205,6 @@ test/rubygems/test_gem_dependency.rb
205
205
  test/rubygems/test_gem_dependency_installer.rb
206
206
  test/rubygems/test_gem_dependency_list.rb
207
207
  test/rubygems/test_gem_dependency_resolver.rb
208
- test/rubygems/test_gem_dependency_resolver_api_set.rb
209
208
  test/rubygems/test_gem_doctor.rb
210
209
  test/rubygems/test_gem_ext_cmake_builder.rb
211
210
  test/rubygems/test_gem_ext_configure_builder.rb
@@ -8,7 +8,7 @@
8
8
  require 'rbconfig'
9
9
 
10
10
  module Gem
11
- VERSION = '2.0.2'
11
+ VERSION = '2.0.3'
12
12
  end
13
13
 
14
14
  # Must be first since it unloads the prelude from 1.9.2
@@ -180,7 +180,7 @@ For further reading on signing gems see `ri Gem::Security`.
180
180
  end
181
181
 
182
182
  def load_default_cert
183
- cert_file = File.join Gem.user_home, 'gem-public_cert.pem'
183
+ cert_file = File.join Gem.default_cert_path
184
184
  cert = File.read cert_file
185
185
  options[:issuer_cert] = OpenSSL::X509::Certificate.new cert
186
186
  rescue Errno::ENOENT
@@ -196,7 +196,7 @@ For further reading on signing gems see `ri Gem::Security`.
196
196
  end
197
197
 
198
198
  def load_default_key
199
- key_file = File.join Gem.user_home, 'gem-private_key.pem'
199
+ key_file = File.join Gem.default_key_path
200
200
  key = File.read key_file
201
201
  options[:key] = OpenSSL::PKey::RSA.new key
202
202
  rescue Errno::ENOENT
@@ -437,13 +437,18 @@ abort "#{deprecation_message}"
437
437
  end
438
438
 
439
439
  def remove_old_lib_files lib_dir
440
- lib_files = rb_files_in 'lib'
440
+ rubygems_dir = File.join lib_dir, 'rubygems'
441
+ lib_files = rb_files_in 'lib/rubygems'
441
442
 
442
- old_lib_files = rb_files_in lib_dir
443
+ old_lib_files = rb_files_in rubygems_dir
443
444
 
444
445
  to_remove = old_lib_files - lib_files
445
446
 
446
- Dir.chdir lib_dir do
447
+ to_remove.delete_if do |file|
448
+ file.start_with? 'defaults'
449
+ end
450
+
451
+ Dir.chdir rubygems_dir do
447
452
  to_remove.each do |file|
448
453
  FileUtils.rm_f file
449
454
 
@@ -110,4 +110,18 @@ module Gem
110
110
  'ruby'
111
111
  end
112
112
  end
113
+
114
+ ##
115
+ # The default signing key path
116
+
117
+ def self.default_key_path
118
+ File.join Gem.user_home, ".gem", "gem-private_key.pem"
119
+ end
120
+
121
+ ##
122
+ # The default signing certificate chain path
123
+
124
+ def self.default_cert_path
125
+ File.join Gem.user_home, ".gem", "gem-public_cert.pem"
126
+ end
113
127
  end
@@ -13,7 +13,7 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
13
13
  FileEntry = FileUtils::Entry_ # :nodoc:
14
14
 
15
15
  def self.build(extension, directory, dest_path, results, args=[])
16
- tmp_dest = Dir.mktmpdir(".gem.", ".") if File.identical?(dest_path, ".")
16
+ tmp_dest = Dir.mktmpdir(".gem.", ".")
17
17
 
18
18
  Tempfile.open %w"siteconf .rb", "." do |siteconf|
19
19
  siteconf.puts "require 'rbconfig'"
@@ -25,11 +25,13 @@ class Gem::Ext::ExtConfBuilder < Gem::Ext::Builder
25
25
 
26
26
  siteconf.flush
27
27
 
28
+ siteconf_path = File.expand_path siteconf.path
29
+
28
30
  rubyopt = ENV["RUBYOPT"]
29
31
  destdir = ENV["DESTDIR"]
30
32
 
31
33
  begin
32
- ENV["RUBYOPT"] = ["-r#{siteconf.path}", rubyopt].compact.join(' ')
34
+ ENV["RUBYOPT"] = ["-r#{siteconf_path}", rubyopt].compact.join(' ')
33
35
  cmd = [Gem.ruby, File.basename(extension), *args].join ' '
34
36
 
35
37
  run cmd, results
@@ -368,6 +368,9 @@ EOM
368
368
  raise Gem::Package::PathError.new(filename, destination_dir) if
369
369
  filename.start_with? '/'
370
370
 
371
+ destination_dir = File.realpath destination_dir if
372
+ File.respond_to? :realpath
373
+
371
374
  destination = File.join destination_dir, filename
372
375
  destination = File.expand_path destination
373
376
 
@@ -34,12 +34,12 @@ class Gem::Security::Signer
34
34
  @key = key
35
35
 
36
36
  unless @key then
37
- default_key = File.join Gem.user_home, 'gem-private_key.pem'
37
+ default_key = File.join Gem.default_key_path
38
38
  @key = default_key if File.exist? default_key
39
39
  end
40
40
 
41
41
  unless @cert_chain then
42
- default_cert = File.join Gem.user_home, 'gem-public_cert.pem'
42
+ default_cert = File.join Gem.default_cert_path
43
43
  @cert_chain = [default_cert] if File.exist? default_cert
44
44
  end
45
45
 
@@ -110,15 +110,15 @@ class Gem::Security::Signer
110
110
  def re_sign_key # :nodoc:
111
111
  old_cert = @cert_chain.last
112
112
 
113
- disk_cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
113
+ disk_cert_path = File.join Gem.default_cert_path
114
114
  disk_cert = File.read disk_cert_path rescue nil
115
115
  disk_key =
116
- File.read File.join(Gem.user_home, 'gem-private_key.pem') rescue nil
116
+ File.read File.join(Gem.default_key_path) rescue nil
117
117
 
118
118
  if disk_key == @key.to_pem and disk_cert == old_cert.to_pem then
119
119
  expiry = old_cert.not_after.strftime '%Y%m%d%H%M%S'
120
120
  old_cert_file = "gem-public_cert.pem.expired.#{expiry}"
121
- old_cert_path = File.join Gem.user_home, old_cert_file
121
+ old_cert_path = File.join Gem.user_home, ".gem", old_cert_file
122
122
 
123
123
  unless File.exist? old_cert_path then
124
124
  Gem::Security.write old_cert, old_cert_path
@@ -141,14 +141,4 @@ class Gem::Source
141
141
  fetcher = Gem::RemoteFetcher.fetcher
142
142
  fetcher.download spec, @uri.to_s, dir
143
143
  end
144
-
145
- ##
146
- # Replaces the URI for this source with +uri+. Used for upgrading this
147
- # source to HTTPS
148
-
149
- def uri= uri # :nodoc:
150
- @api_uri = nil
151
- @uri = uri
152
- end
153
-
154
144
  end
@@ -188,8 +188,6 @@ class Gem::SpecFetcher
188
188
  list = {}
189
189
 
190
190
  Gem.sources.each_source do |source|
191
- source = upgrade_http_source source
192
-
193
191
  begin
194
192
  names = case type
195
193
  when :latest
@@ -228,40 +226,5 @@ class Gem::SpecFetcher
228
226
  end
229
227
  end
230
228
 
231
- ##
232
- # Attempts to upgrade +source+ to HTTPS if it is for http://rubygems.org
233
-
234
- def upgrade_http_source source
235
- uri = source.uri
236
-
237
- return source unless uri.scheme.downcase == 'http' &&
238
- uri.host.downcase == 'rubygems.org'
239
-
240
- https_uri = uri.dup
241
- https_uri.scheme = 'https'
242
- https_uri += '/'
243
-
244
- https_uri = URI https_uri.to_s # cast to URI::HTTPS
245
-
246
- begin
247
- Gem::RemoteFetcher.fetcher.fetch_path https_uri, nil, true
248
- rescue Gem::RemoteFetcher::FetchError => e
249
- raise unless e.message =~ / Not Allowed 405 /
250
- end
251
-
252
- say "Upgraded #{uri} to HTTPS"
253
-
254
- https_uri += uri.request_uri
255
-
256
- source.uri = URI https_uri.to_s # cast to URI::HTTPS
257
-
258
- source
259
- rescue Gem::RemoteFetcher::FetchError
260
- say "Upgrading #{uri} to HTTPS failed, continuing" if
261
- Gem.configuration.really_verbose
262
-
263
- source
264
- end
265
-
266
229
  end
267
230
 
@@ -308,10 +308,12 @@ Removed '/CN=alternate/DC=example'
308
308
  end
309
309
 
310
310
  def test_execute_sign_default
311
- private_key_path = File.join Gem.user_home, 'gem-private_key.pem'
311
+ FileUtils.mkdir_p File.join Gem.user_home, '.gem'
312
+
313
+ private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem'
312
314
  Gem::Security.write PRIVATE_KEY, private_key_path
313
315
 
314
- public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
316
+ public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
315
317
  Gem::Security.write PUBLIC_CERT, public_cert_path
316
318
 
317
319
  path = File.join @tempdir, 'cert.pem'
@@ -338,7 +340,9 @@ Removed '/CN=alternate/DC=example'
338
340
  end
339
341
 
340
342
  def test_execute_sign_no_cert
341
- private_key_path = File.join Gem.user_home, 'gem-private_key.pem'
343
+ FileUtils.mkdir_p File.join Gem.user_home, '.gem'
344
+
345
+ private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem'
342
346
  Gem::Security.write PRIVATE_KEY, private_key_path
343
347
 
344
348
  path = File.join @tempdir, 'cert.pem'
@@ -364,7 +368,9 @@ ERROR: --certificate not specified and ~/.gem/gem-public_cert.pem does not exis
364
368
  end
365
369
 
366
370
  def test_execute_sign_no_key
367
- public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
371
+ FileUtils.mkdir_p File.join Gem.user_home, '.gem'
372
+
373
+ public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
368
374
  Gem::Security.write PUBLIC_CERT, public_cert_path
369
375
 
370
376
  path = File.join @tempdir, 'cert.pem'
@@ -41,21 +41,36 @@ class TestGemCommandsSetupCommand < Gem::TestCase
41
41
  end
42
42
 
43
43
  def test_remove_old_lib_files
44
- lib = File.join @install_dir, 'lib'
45
- lib_rubygems = File.join lib, 'rubygems'
44
+ lib = File.join @install_dir, 'lib'
45
+ lib_rubygems = File.join lib, 'rubygems'
46
+ lib_rubygems_defaults = File.join lib_rubygems, 'defaults'
46
47
 
47
- old_builder_rb = File.join lib_rubygems, 'builder.rb'
48
- old_format_rb = File.join lib_rubygems, 'format.rb'
48
+ securerandom_rb = File.join lib, 'securerandom.rb'
49
49
 
50
- FileUtils.mkdir_p lib_rubygems
50
+ engine_defaults_rb = File.join lib_rubygems_defaults, 'jruby.rb'
51
+ os_defaults_rb = File.join lib_rubygems_defaults, 'operating_system.rb'
51
52
 
52
- open old_builder_rb, 'w' do |io| io.puts '# builder.rb' end
53
- open old_format_rb, 'w' do |io| io.puts '# format.rb' end
53
+ old_builder_rb = File.join lib_rubygems, 'builder.rb'
54
+ old_format_rb = File.join lib_rubygems, 'format.rb'
55
+
56
+ FileUtils.mkdir_p lib_rubygems_defaults
57
+
58
+ open securerandom_rb, 'w' do |io| io.puts '# securerandom.rb' end
59
+
60
+ open old_builder_rb, 'w' do |io| io.puts '# builder.rb' end
61
+ open old_format_rb, 'w' do |io| io.puts '# format.rb' end
62
+
63
+ open engine_defaults_rb, 'w' do |io| io.puts '# jruby.rb' end
64
+ open os_defaults_rb, 'w' do |io| io.puts '# operating_system.rb' end
54
65
 
55
66
  @cmd.remove_old_lib_files lib
56
67
 
57
68
  refute_path_exists old_builder_rb
58
69
  refute_path_exists old_format_rb
70
+
71
+ assert_path_exists securerandom_rb
72
+ assert_path_exists engine_defaults_rb
73
+ assert_path_exists os_defaults_rb
59
74
  end
60
75
 
61
76
  end
@@ -18,6 +18,8 @@ class TestGemPackage < Gem::Package::TarTestCase
18
18
  @gem = @spec.cache_file
19
19
 
20
20
  @destination = File.join @tempdir, 'extract'
21
+
22
+ FileUtils.mkdir_p @destination
21
23
  end
22
24
 
23
25
  def test_class_new_old_format
@@ -160,10 +162,12 @@ class TestGemPackage < Gem::Package::TarTestCase
160
162
  end
161
163
 
162
164
  def test_build_auto_signed
163
- private_key_path = File.join Gem.user_home, 'gem-private_key.pem'
165
+ FileUtils.mkdir_p File.join(Gem.user_home, '.gem')
166
+
167
+ private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem'
164
168
  Gem::Security.write PRIVATE_KEY, private_key_path
165
169
 
166
- public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
170
+ public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
167
171
  Gem::Security.write PUBLIC_CERT, public_cert_path
168
172
 
169
173
  spec = Gem::Specification.new 'build', '1'
@@ -330,6 +334,20 @@ class TestGemPackage < Gem::Package::TarTestCase
330
334
  "#{@destination} is not allowed", e.message)
331
335
  end
332
336
 
337
+ def test_install_location_extra_slash
338
+ package = Gem::Package.new @gem
339
+
340
+ file = 'foo//file.rb'
341
+ file.taint
342
+
343
+ destination = @destination.sub '/', '//'
344
+
345
+ destination = package.install_location file, destination
346
+
347
+ assert_equal File.join(@destination, 'foo', 'file.rb'), destination
348
+ refute destination.tainted?
349
+ end
350
+
333
351
  def test_install_location_relative
334
352
  package = Gem::Package.new @gem
335
353
 
@@ -12,6 +12,8 @@ class TestGemPackageOld < Gem::TestCase
12
12
 
13
13
  @package = Gem::Package::Old.new 'old_format.gem'
14
14
  @destination = File.join @tempdir, 'extract'
15
+
16
+ FileUtils.mkdir_p @destination
15
17
  end
16
18
 
17
19
  def test_contents
@@ -399,9 +399,6 @@ gems:
399
399
  @fetcher.instance_variable_set :@a1, @a1
400
400
  @fetcher.instance_variable_set :@a2, @a2
401
401
  def @fetcher.fetch_path uri, mtime = nil, head = false
402
- raise Gem::RemoteFetcher::FetchError.new 'no http upgrade', uri if
403
- uri.scheme != 'http'
404
-
405
402
  case uri.request_uri
406
403
  when /#{@a1.spec_name}/ then
407
404
  Gem.deflate Marshal.dump @a1
@@ -50,10 +50,12 @@ class TestGemSecuritySigner < Gem::TestCase
50
50
  end
51
51
 
52
52
  def test_initialize_default
53
- private_key_path = File.join Gem.user_home, 'gem-private_key.pem'
53
+ FileUtils.mkdir_p File.join(Gem.user_home, '.gem')
54
+
55
+ private_key_path = File.join Gem.user_home, '.gem', 'gem-private_key.pem'
54
56
  Gem::Security.write PRIVATE_KEY, private_key_path
55
57
 
56
- public_cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
58
+ public_cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
57
59
  Gem::Security.write PUBLIC_CERT, public_cert_path
58
60
 
59
61
  signer = Gem::Security::Signer.new nil, nil
@@ -120,12 +122,12 @@ c7NM7KZZjj7G++SXjYTEI1PHSA7aFQ/i/+qSUvx+Pg==
120
122
  end
121
123
 
122
124
  def test_sign_expired_auto_update
123
- FileUtils.mkdir_p Gem.user_home, :mode => 0700
125
+ FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700
124
126
 
125
- private_key_path = File.join(Gem.user_home, 'gem-private_key.pem')
127
+ private_key_path = File.join(Gem.user_home, '.gem', 'gem-private_key.pem')
126
128
  Gem::Security.write PRIVATE_KEY, private_key_path
127
129
 
128
- cert_path = File.join Gem.user_home, 'gem-public_cert.pem'
130
+ cert_path = File.join Gem.user_home, '.gem', 'gem-public_cert.pem'
129
131
  Gem::Security.write EXPIRED_CERT, cert_path
130
132
 
131
133
  signer = Gem::Security::Signer.new PRIVATE_KEY, [EXPIRED_CERT]
@@ -140,14 +142,14 @@ c7NM7KZZjj7G++SXjYTEI1PHSA7aFQ/i/+qSUvx+Pg==
140
142
  expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S"
141
143
 
142
144
  expired_path =
143
- File.join Gem.user_home, "gem-public_cert.pem.expired.#{expiry}"
145
+ File.join Gem.user_home, '.gem', "gem-public_cert.pem.expired.#{expiry}"
144
146
 
145
147
  assert_path_exists expired_path
146
148
  assert_equal EXPIRED_CERT.to_pem, File.read(expired_path)
147
149
  end
148
150
 
149
151
  def test_sign_expired_auto_update_exists
150
- FileUtils.mkdir_p Gem.user_home, :mode => 0700
152
+ FileUtils.mkdir_p File.join(Gem.user_home, '.gem'), :mode => 0700
151
153
 
152
154
  expiry = EXPIRED_CERT.not_after.strftime "%Y%m%d%H%M%S"
153
155
  expired_path =
@@ -184,16 +184,5 @@ class TestGemSource < Gem::TestCase
184
184
  end
185
185
  end
186
186
 
187
- def test_uri_equals
188
- @source.api_uri # cached
189
-
190
- refute_equal URI('https://secure.example'), @source.api_uri
191
-
192
- @source.uri = URI 'https://secure.example'
193
-
194
- assert_equal URI('https://secure.example'), @source.uri
195
- assert_equal URI('https://secure.example'), @source.api_uri
196
- end
197
-
198
187
  end
199
188
 
@@ -32,14 +32,13 @@ class TestGemSpecFetcher < Gem::TestCase
32
32
  Gem::NameTuple.new(spec.name, spec.version, spec.original_platform)
33
33
  }
34
34
 
35
- @v = Gem.marshal_version
36
- @s_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@specs)))
37
- @l_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@latest_specs)))
38
- @p_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@prerelease_specs)))
39
-
40
- @fetcher.data["#{@gem_repo}specs.#{@v}.gz"] = @s_zip
41
- @fetcher.data["#{@gem_repo}latest_specs.#{@v}.gz"] = @l_zip
42
- @fetcher.data["#{@gem_repo}prerelease_specs.#{@v}.gz"] = @p_zip
35
+ v = Gem.marshal_version
36
+ s_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@specs)))
37
+ l_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@latest_specs)))
38
+ p_zip = util_gzip(Marshal.dump(Gem::NameTuple.to_basic(@prerelease_specs)))
39
+ @fetcher.data["#{@gem_repo}specs.#{v}.gz"] = s_zip
40
+ @fetcher.data["#{@gem_repo}latest_specs.#{v}.gz"] = l_zip
41
+ @fetcher.data["#{@gem_repo}prerelease_specs.#{v}.gz"] = p_zip
43
42
 
44
43
  @sf = Gem::SpecFetcher.new
45
44
 
@@ -201,6 +200,7 @@ class TestGemSpecFetcher < Gem::TestCase
201
200
  assert_equal comp.sort, specs[@source].sort
202
201
  end
203
202
 
203
+
204
204
  def test_available_specs_cache
205
205
  specs, _ = @sf.available_specs(:latest)
206
206
 
@@ -240,77 +240,5 @@ class TestGemSpecFetcher < Gem::TestCase
240
240
  assert_kind_of Gem::SourceFetchProblem, errors.first
241
241
  end
242
242
 
243
- def test_upgrade_http_source
244
- Gem.configuration.verbose = :really
245
-
246
- source = Gem::Source.new URI 'http://example'
247
- same_source = nil
248
-
249
- use_ui @ui do
250
- same_source = @sf.upgrade_http_source source
251
- end
252
-
253
- assert_equal URI('http://example'), same_source.uri
254
-
255
- assert_empty @ui.output
256
- assert_empty @ui.error
257
- end
258
-
259
- def test_upgrade_http_source_rubygems
260
- Gem.configuration.verbose = :really
261
-
262
- source = Gem::Source.new URI 'http://rubygems.org'
263
- same_source = nil
264
- https_source = nil
265
-
266
- use_ui @ui do
267
- same_source = @sf.upgrade_http_source source
268
- end
269
-
270
- assert_equal URI('http://rubygems.org'), same_source.uri
271
-
272
- @fetcher.data['https://rubygems.org/'] = 'hello'
273
-
274
- use_ui @ui do
275
- https_source = @sf.upgrade_http_source source
276
- end
277
-
278
- assert_equal URI('https://rubygems.org'), https_source.uri
279
-
280
- assert_empty @ui.error
281
-
282
- expected = <<-EXPECTED
283
- Upgrading http://rubygems.org to HTTPS failed, continuing
284
- Upgraded http://rubygems.org to HTTPS
285
- EXPECTED
286
-
287
- assert_equal expected, @ui.output
288
- end
289
-
290
- def test_upgrade_http_source_rubygems_405
291
- Gem.configuration.verbose = :really
292
-
293
- source = Gem::Source.new URI 'http://rubygems.org'
294
- https_source = nil
295
-
296
- @fetcher.data['https://rubygems.org/'] = proc do
297
- raise Gem::RemoteFetcher::FetchError.new ' Not Allowed 405 ', nil
298
- end
299
-
300
- use_ui @ui do
301
- https_source = @sf.upgrade_http_source source
302
- end
303
-
304
- assert_equal URI('https://rubygems.org'), https_source.uri
305
-
306
- assert_empty @ui.error
307
-
308
- expected = <<-EXPECTED
309
- Upgraded http://rubygems.org to HTTPS
310
- EXPECTED
311
-
312
- assert_equal expected, @ui.output
313
- end
314
-
315
243
  end
316
244
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygems-update
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -32,7 +32,7 @@ cert_chain:
32
32
  KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
33
33
  wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
34
34
  -----END CERTIFICATE-----
35
- date: 2013-03-06 00:00:00.000000000 Z
35
+ date: 2013-03-12 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: minitest
@@ -392,7 +392,6 @@ files:
392
392
  - test/rubygems/test_gem_dependency_installer.rb
393
393
  - test/rubygems/test_gem_dependency_list.rb
394
394
  - test/rubygems/test_gem_dependency_resolver.rb
395
- - test/rubygems/test_gem_dependency_resolver_api_set.rb
396
395
  - test/rubygems/test_gem_doctor.rb
397
396
  - test/rubygems/test_gem_ext_cmake_builder.rb
398
397
  - test/rubygems/test_gem_ext_configure_builder.rb
@@ -450,7 +449,7 @@ post_install_message:
450
449
  rdoc_options:
451
450
  - --main
452
451
  - README.rdoc
453
- - --title=RubyGems 2.0.2 Documentation
452
+ - --title=RubyGems 2.0.3 Documentation
454
453
  require_paths:
455
454
  - hide_lib_for_update
456
455
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -465,7 +464,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
465
464
  version: '0'
466
465
  requirements: []
467
466
  rubyforge_project: rubygems
468
- rubygems_version: 2.0.1
467
+ rubygems_version: 2.0.2
469
468
  signing_key:
470
469
  specification_version: 4
471
470
  summary: RubyGems is a package management framework for Ruby
@@ -511,7 +510,6 @@ test_files:
511
510
  - test/rubygems/test_gem_dependency_installer.rb
512
511
  - test/rubygems/test_gem_dependency_list.rb
513
512
  - test/rubygems/test_gem_dependency_resolver.rb
514
- - test/rubygems/test_gem_dependency_resolver_api_set.rb
515
513
  - test/rubygems/test_gem_doctor.rb
516
514
  - test/rubygems/test_gem_ext_cmake_builder.rb
517
515
  - test/rubygems/test_gem_ext_configure_builder.rb
metadata.gz.sig CHANGED
Binary file
@@ -1,80 +0,0 @@
1
- require 'rubygems/test_case'
2
- require 'rubygems/dependency_resolver'
3
-
4
- class TestGemDependencyResolverAPISet < Gem::TestCase
5
-
6
- def setup
7
- super
8
-
9
- @DR = Gem::DependencyResolver
10
-
11
- @api_set = @DR::APISet.new
12
- @uri = 'https://rubygems.org/api/v1/dependencies'
13
- @fetcher = Gem::FakeFetcher.new
14
- Gem::RemoteFetcher.fetcher = @fetcher
15
- end
16
-
17
- def test_find_all
18
- b_entry = {
19
- :name => 'b',
20
- :number => '2',
21
- :platform => 'ruby',
22
- :dependencies => [['a', '>= 0']],
23
- }
24
-
25
- @fetcher.data["#{@uri}?gems=b"] = Marshal.dump [b_entry]
26
-
27
- b_req = @DR::DependencyRequest.new dep('b', '>= 0'), nil
28
-
29
- expected = [
30
- @DR::APISpecification.new(@api_set, b_entry)
31
- ]
32
-
33
- assert_equal expected, @api_set.find_all(b_req)
34
- end
35
-
36
- def test_prefetch
37
- b_entry = {
38
- :name => 'b',
39
- :number => '2',
40
- :platform => 'ruby',
41
- :dependencies => [['a', '>= 0']],
42
- }
43
-
44
- a_entry = {
45
- :name => 'a',
46
- :number => '2',
47
- :platform => 'ruby',
48
- :dependencies => [],
49
- }
50
-
51
- @fetcher.data["#{@uri}?gems=a,b"] = Marshal.dump [a_entry, b_entry]
52
-
53
- a_req = @DR::DependencyRequest.new dep('a', '>= 0'), nil
54
- b_req = @DR::DependencyRequest.new dep('b', '>= 0'), nil
55
-
56
- @api_set.prefetch([b_req, a_req])
57
-
58
- assert_equal [a_entry], @api_set.versions('a')
59
- assert_equal [b_entry], @api_set.versions('b')
60
- end
61
-
62
- def test_versions_cache
63
- entry = {
64
- :name => 'b',
65
- :number => '2',
66
- :platform => 'ruby',
67
- :dependencies => [['a', '>= 0']],
68
- }
69
-
70
- @fetcher.data["#{@uri}?gems=b"] = Marshal.dump [entry]
71
-
72
- assert_equal [entry], @api_set.versions('b')
73
-
74
- @fetcher.data["#{@uri}?gems=b"] = 'garbage'
75
-
76
- assert_equal [entry], @api_set.versions('b'), 'version data must be cached'
77
- end
78
-
79
- end
80
-