rubygems-update 2.0.0 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (47) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +2 -1
  4. data/.autotest +1 -0
  5. data/History.txt +32 -0
  6. data/Manifest.txt +2 -0
  7. data/lib/rubygems.rb +14 -5
  8. data/lib/rubygems/available_set.rb +70 -72
  9. data/lib/rubygems/commands/cert_command.rb +1 -0
  10. data/lib/rubygems/commands/query_command.rb +7 -7
  11. data/lib/rubygems/commands/setup_command.rb +21 -4
  12. data/lib/rubygems/commands/sources_command.rb +13 -0
  13. data/lib/rubygems/config_file.rb +29 -16
  14. data/lib/rubygems/defaults.rb +1 -1
  15. data/lib/rubygems/dependency_installer.rb +18 -10
  16. data/lib/rubygems/dependency_list.rb +1 -1
  17. data/lib/rubygems/dependency_resolver.rb +17 -4
  18. data/lib/rubygems/ext/builder.rb +0 -7
  19. data/lib/rubygems/ext/ext_conf_builder.rb +43 -8
  20. data/lib/rubygems/installer.rb +4 -4
  21. data/lib/rubygems/package.rb +2 -1
  22. data/lib/rubygems/rdoc.rb +10 -1
  23. data/lib/rubygems/remote_fetcher.rb +8 -3
  24. data/lib/rubygems/security.rb +21 -1
  25. data/lib/rubygems/security/policy.rb +2 -0
  26. data/lib/rubygems/source.rb +10 -0
  27. data/lib/rubygems/spec_fetcher.rb +38 -0
  28. data/lib/rubygems/specification.rb +1 -1
  29. data/lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem +20 -0
  30. data/lib/rubygems/test_utilities.rb +6 -3
  31. data/test/rubygems/test_gem.rb +13 -1
  32. data/test/rubygems/test_gem_commands_fetch_command.rb +4 -0
  33. data/test/rubygems/test_gem_commands_query_command.rb +16 -0
  34. data/test/rubygems/test_gem_commands_setup_command.rb +18 -1
  35. data/test/rubygems/test_gem_commands_sources_command.rb +39 -0
  36. data/test/rubygems/test_gem_config_file.rb +15 -0
  37. data/test/rubygems/test_gem_dependency_installer.rb +55 -0
  38. data/test/rubygems/test_gem_dependency_resolver_api_set.rb +80 -0
  39. data/test/rubygems/test_gem_ext_ext_conf_builder.rb +1 -7
  40. data/test/rubygems/test_gem_installer.rb +92 -1
  41. data/test/rubygems/test_gem_remote_fetcher.rb +3 -0
  42. data/test/rubygems/test_gem_source.rb +11 -0
  43. data/test/rubygems/test_gem_source_list.rb +1 -1
  44. data/test/rubygems/test_gem_spec_fetcher.rb +80 -8
  45. data/test/rubygems/test_require.rb +19 -8
  46. metadata +14 -11
  47. metadata.gz.sig +0 -0
@@ -399,6 +399,9 @@ 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
+
402
405
  case uri.request_uri
403
406
  when /#{@a1.spec_name}/ then
404
407
  Gem.deflate Marshal.dump @a1
@@ -184,5 +184,16 @@ 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
+
187
198
  end
188
199
 
@@ -5,7 +5,7 @@ class TestGemSourceList < Gem::TestCase
5
5
  def setup
6
6
  super
7
7
 
8
- @uri = "http://blah.com"
8
+ @uri = "http://example"
9
9
  @source = Gem::Source.new(@uri)
10
10
 
11
11
  @sl = Gem::SourceList.new
@@ -32,13 +32,14 @@ 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
- @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
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
42
43
 
43
44
  @sf = Gem::SpecFetcher.new
44
45
 
@@ -200,7 +201,6 @@ class TestGemSpecFetcher < Gem::TestCase
200
201
  assert_equal comp.sort, specs[@source].sort
201
202
  end
202
203
 
203
-
204
204
  def test_available_specs_cache
205
205
  specs, _ = @sf.available_specs(:latest)
206
206
 
@@ -240,5 +240,77 @@ 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
+
243
315
  end
244
316
 
@@ -2,19 +2,30 @@ require 'rubygems/test_case'
2
2
  require 'rubygems'
3
3
 
4
4
  class TestGemRequire < Gem::TestCase
5
+
6
+ def setup
7
+ super
8
+
9
+ assert_raises LoadError do
10
+ save_loaded_features do
11
+ require 'test_gem_require_a'
12
+ end
13
+ end
14
+ end
15
+
5
16
  def assert_require(path)
6
17
  assert require(path), "'#{path}' was already required"
7
18
  end
8
19
 
9
20
  def test_require_is_not_lazy_with_exact_req
10
- a1 = new_spec "a", "1", {"b" => "= 1"}, "lib/a.rb"
21
+ a1 = new_spec "a", "1", {"b" => "= 1"}, "lib/test_gem_require_a.rb"
11
22
  b1 = new_spec "b", "1", nil, "lib/b/c.rb"
12
23
  b2 = new_spec "b", "2", nil, "lib/b/c.rb"
13
24
 
14
25
  install_specs a1, b1, b2
15
26
 
16
27
  save_loaded_features do
17
- assert_require 'a'
28
+ assert_require 'test_gem_require_a'
18
29
  assert_equal %w(a-1 b-1), loaded_spec_names
19
30
  assert_equal unresolved_names, []
20
31
 
@@ -24,14 +35,14 @@ class TestGemRequire < Gem::TestCase
24
35
  end
25
36
 
26
37
  def test_require_is_lazy_with_inexact_req
27
- a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/a.rb"
38
+ a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/test_gem_require_a.rb"
28
39
  b1 = new_spec "b", "1", nil, "lib/b/c.rb"
29
40
  b2 = new_spec "b", "2", nil, "lib/b/c.rb"
30
41
 
31
42
  install_specs a1, b1, b2
32
43
 
33
44
  save_loaded_features do
34
- assert_require 'a'
45
+ assert_require 'test_gem_require_a'
35
46
  assert_equal %w(a-1), loaded_spec_names
36
47
  assert_equal unresolved_names, ["b (>= 1)"]
37
48
 
@@ -41,13 +52,13 @@ class TestGemRequire < Gem::TestCase
41
52
  end
42
53
 
43
54
  def test_require_is_not_lazy_with_one_possible
44
- a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/a.rb"
55
+ a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/test_gem_require_a.rb"
45
56
  b1 = new_spec "b", "1", nil, "lib/b/c.rb"
46
57
 
47
58
  install_specs a1, b1
48
59
 
49
60
  save_loaded_features do
50
- assert_require 'a'
61
+ assert_require 'test_gem_require_a'
51
62
  assert_equal %w(a-1 b-1), loaded_spec_names
52
63
  assert_equal unresolved_names, []
53
64
 
@@ -59,13 +70,13 @@ class TestGemRequire < Gem::TestCase
59
70
  def test_activate_via_require_respects_loaded_files
60
71
  require 'benchmark' # stdlib
61
72
  save_loaded_features do
62
- a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/a.rb"
73
+ a1 = new_spec "a", "1", {"b" => ">= 1"}, "lib/test_gem_require_a.rb"
63
74
  b1 = new_spec "b", "1", nil, "lib/benchmark.rb"
64
75
  b2 = new_spec "b", "2", nil, "lib/benchmark.rb"
65
76
 
66
77
  install_specs a1, b1, b2
67
78
 
68
- require 'a'
79
+ require 'test_gem_require_a'
69
80
  assert_equal unresolved_names, ["b (>= 1)"]
70
81
 
71
82
  refute require('benchmark'), "benchmark should have already been loaded"
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.0
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -14,7 +14,7 @@ cert_chain:
14
14
  -----BEGIN CERTIFICATE-----
15
15
  MIIDeDCCAmCgAwIBAgIBATANBgkqhkiG9w0BAQUFADBBMRAwDgYDVQQDDAdkcmJy
16
16
  YWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZFgNu
17
- ZXQwHhcNMTIwMjI4MTc1NDI1WhcNMTMwMjI3MTc1NDI1WjBBMRAwDgYDVQQDDAdk
17
+ ZXQwHhcNMTMwMjI4MDUyMjA4WhcNMTQwMjI4MDUyMjA4WjBBMRAwDgYDVQQDDAdk
18
18
  cmJyYWluMRgwFgYKCZImiZPyLGQBGRYIc2VnbWVudDcxEzARBgoJkiaJk/IsZAEZ
19
19
  FgNuZXQwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQCbbgLrGLGIDE76
20
20
  LV/cvxdEzCuYuS3oG9PrSZnuDweySUfdp/so0cDq+j8bqy6OzZSw07gdjwFMSd6J
@@ -25,14 +25,14 @@ cert_chain:
25
25
  sCANiQ8BAgMBAAGjezB5MAkGA1UdEwQCMAAwCwYDVR0PBAQDAgSwMB0GA1UdDgQW
26
26
  BBS5k4Z75VSpdM0AclG2UvzFA/VW5DAfBgNVHREEGDAWgRRkcmJyYWluQHNlZ21l
27
27
  bnQ3Lm5ldDAfBgNVHRIEGDAWgRRkcmJyYWluQHNlZ21lbnQ3Lm5ldDANBgkqhkiG
28
- 9w0BAQUFAAOCAQEAPeWzFnrcvC6eVzdlhmjUub2s6qieBkongKRDHQz5MEeQv4LS
29
- SARnoHY+uCAVL/1xGAhmpzqQ3fJGWK9eBacW/e8E5GF9xQcV3mE1bA0WNaiDlX5j
30
- U2aI+ZGSblqvHUCxKBHR1s7UMHsbz1saOmgdRTyPx0juJs68ocbUTeYBLWu9V4KP
31
- zdGAG2JXO2gONg3b4tYDvpBLbry+KOX27iAJulUaH9TiTOULL4ITJVFsK0mYVqmR
32
- Q8Tno9S3e4XGGP1ZWfLrTWEJbavFfhGHut2iMRwfC7s/YILAHNATopaJdH9DNpd1
33
- U81zGHMUBOvz/VGT6wJwYJ3emS2nfA2NOHFfgA==
28
+ 9w0BAQUFAAOCAQEAOflo4Md5aJF//EetzXIGZ2EI5PzKWX/mMpp7cxFyDcVPtTv0
29
+ js/6zWrWSbd60W9Kn4ch3nYiATFKhisgeYotDDz2/pb/x1ivJn4vEvs9kYKVvbF8
30
+ V7MV/O5HDW8Q0pA1SljI6GzcOgejtUMxZCyyyDdbUpyAMdt9UpqTZkZ5z1sicgQk
31
+ 5o2XJ+OhceOIUVqVh1r6DNY5tLVaGJabtBmJAYFVznDcHiSFybGKBa5n25Egql1t
32
+ KDyY1VIazVgoC8XvR4h/95/iScPiuglzA+DBG1hip1xScAtw05BrXyUNrc9CEMYU
33
+ wgF94UVoHRp6ywo8I7NP3HcwFQDFNEZPNGXsng==
34
34
  -----END CERTIFICATE-----
35
- date: 2013-02-24 00:00:00.000000000 Z
35
+ date: 2013-03-06 00:00:00.000000000 Z
36
36
  dependencies:
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: minitest
@@ -294,6 +294,7 @@ files:
294
294
  - lib/rubygems/ssl_certs/.document
295
295
  - lib/rubygems/ssl_certs/AddTrustExternalCARoot.pem
296
296
  - lib/rubygems/ssl_certs/Entrust_net-Secure-Server-Certification-Authority.pem
297
+ - lib/rubygems/ssl_certs/GeoTrust_Global_CA.pem
297
298
  - lib/rubygems/ssl_certs/VerisignClass3PublicPrimaryCertificationAuthority-G2.pem
298
299
  - lib/rubygems/syck_hack.rb
299
300
  - lib/rubygems/test_case.rb
@@ -391,6 +392,7 @@ files:
391
392
  - test/rubygems/test_gem_dependency_installer.rb
392
393
  - test/rubygems/test_gem_dependency_list.rb
393
394
  - test/rubygems/test_gem_dependency_resolver.rb
395
+ - test/rubygems/test_gem_dependency_resolver_api_set.rb
394
396
  - test/rubygems/test_gem_doctor.rb
395
397
  - test/rubygems/test_gem_ext_cmake_builder.rb
396
398
  - test/rubygems/test_gem_ext_configure_builder.rb
@@ -448,7 +450,7 @@ post_install_message:
448
450
  rdoc_options:
449
451
  - --main
450
452
  - README.rdoc
451
- - --title=RubyGems 2.0.0 Documentation
453
+ - --title=RubyGems 2.0.2 Documentation
452
454
  require_paths:
453
455
  - hide_lib_for_update
454
456
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -463,7 +465,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
463
465
  version: '0'
464
466
  requirements: []
465
467
  rubyforge_project: rubygems
466
- rubygems_version: 2.0.0
468
+ rubygems_version: 2.0.1
467
469
  signing_key:
468
470
  specification_version: 4
469
471
  summary: RubyGems is a package management framework for Ruby
@@ -509,6 +511,7 @@ test_files:
509
511
  - test/rubygems/test_gem_dependency_installer.rb
510
512
  - test/rubygems/test_gem_dependency_list.rb
511
513
  - test/rubygems/test_gem_dependency_resolver.rb
514
+ - test/rubygems/test_gem_dependency_resolver_api_set.rb
512
515
  - test/rubygems/test_gem_doctor.rb
513
516
  - test/rubygems/test_gem_ext_cmake_builder.rb
514
517
  - test/rubygems/test_gem_ext_configure_builder.rb
metadata.gz.sig CHANGED
Binary file