rubygems-update 2.4.1 → 2.4.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 (65) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/History.txt +38 -0
  5. data/README.rdoc +1 -1
  6. data/Rakefile +3 -3
  7. data/lib/rubygems.rb +1 -1
  8. data/lib/rubygems/command_manager.rb +1 -1
  9. data/lib/rubygems/commands/owner_command.rb +3 -1
  10. data/lib/rubygems/commands/update_command.rb +6 -5
  11. data/lib/rubygems/config_file.rb +1 -1
  12. data/lib/rubygems/dependency.rb +4 -2
  13. data/lib/rubygems/dependency_installer.rb +2 -0
  14. data/lib/rubygems/exceptions.rb +2 -2
  15. data/lib/rubygems/installer.rb +13 -4
  16. data/lib/rubygems/local_remote_options.rb +1 -1
  17. data/lib/rubygems/package/tar_reader/entry.rb +2 -0
  18. data/lib/rubygems/rdoc.rb +0 -1
  19. data/lib/rubygems/request/connection_pools.rb +5 -3
  20. data/lib/rubygems/request_set.rb +57 -1
  21. data/lib/rubygems/request_set/gem_dependency_api.rb +58 -10
  22. data/lib/rubygems/request_set/lockfile.rb +13 -5
  23. data/lib/rubygems/resolver.rb +2 -1
  24. data/lib/rubygems/resolver/composed_set.rb +12 -0
  25. data/lib/rubygems/resolver/conflict.rb +2 -2
  26. data/lib/rubygems/resolver/dependency_request.rb +2 -2
  27. data/lib/rubygems/resolver/index_set.rb +1 -1
  28. data/lib/rubygems/resolver/installer_set.rb +6 -0
  29. data/lib/rubygems/resolver/lock_specification.rb +4 -0
  30. data/lib/rubygems/resolver/set.rb +8 -2
  31. data/lib/rubygems/resolver/vendor_set.rb +2 -0
  32. data/lib/rubygems/source.rb +2 -0
  33. data/lib/rubygems/source/git.rb +10 -2
  34. data/lib/rubygems/specification.rb +9 -3
  35. data/lib/rubygems/stub_specification.rb +5 -0
  36. data/lib/rubygems/test_case.rb +1 -1
  37. data/lib/rubygems/test_utilities.rb +2 -0
  38. data/lib/rubygems/user_interaction.rb +10 -0
  39. data/lib/rubygems/util.rb +14 -1
  40. data/test/rubygems/test_gem_commands_setup_command.rb +6 -8
  41. data/test/rubygems/test_gem_commands_uninstall_command.rb +1 -1
  42. data/test/rubygems/test_gem_commands_update_command.rb +28 -0
  43. data/test/rubygems/test_gem_dependency.rb +27 -0
  44. data/test/rubygems/test_gem_dependency_installer.rb +21 -0
  45. data/test/rubygems/test_gem_ext_builder.rb +1 -1
  46. data/test/rubygems/test_gem_impossible_dependencies_error.rb +6 -6
  47. data/test/rubygems/test_gem_installer.rb +27 -3
  48. data/test/rubygems/test_gem_remote_fetcher.rb +4 -0
  49. data/test/rubygems/test_gem_request_connection_pools.rb +37 -0
  50. data/test/rubygems/test_gem_request_set.rb +20 -1
  51. data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +95 -9
  52. data/test/rubygems/test_gem_request_set_lockfile.rb +54 -0
  53. data/test/rubygems/test_gem_resolver_composed_set.rb +13 -0
  54. data/test/rubygems/test_gem_resolver_conflict.rb +2 -2
  55. data/test/rubygems/test_gem_resolver_dependency_request.rb +9 -0
  56. data/test/rubygems/test_gem_resolver_installer_set.rb +12 -0
  57. data/test/rubygems/test_gem_resolver_lock_specification.rb +11 -0
  58. data/test/rubygems/test_gem_resolver_vendor_set.rb +3 -1
  59. data/test/rubygems/test_gem_silent_ui.rb +5 -0
  60. data/test/rubygems/test_gem_source.rb +13 -0
  61. data/test/rubygems/test_gem_source_git.rb +15 -0
  62. data/test/rubygems/test_gem_specification.rb +46 -10
  63. data/test/rubygems/test_gem_stub_specification.rb +10 -0
  64. metadata +3 -3
  65. metadata.gz.sig +0 -0
@@ -16,6 +16,19 @@ class TestGemResolverComposedSet < Gem::TestCase
16
16
  assert_includes set.errors, index_set.errors.first
17
17
  end
18
18
 
19
+ def test_prerelease_equals
20
+ best_set = Gem::Resolver::BestSet.new
21
+ current_set = Gem::Resolver::CurrentSet.new
22
+
23
+ set = Gem::Resolver::ComposedSet.new best_set, current_set
24
+
25
+ set.prerelease = true
26
+
27
+ assert set.prerelease
28
+ assert best_set.prerelease
29
+ assert current_set.prerelease
30
+ end
31
+
19
32
  def test_remote_equals
20
33
  best_set = Gem::Resolver::BestSet.new
21
34
  current_set = Gem::Resolver::CurrentSet.new
@@ -29,8 +29,8 @@ class TestGemResolverConflict < Gem::TestCase
29
29
  net-ssh (>= 2.0.13), 2.2.2 activated
30
30
 
31
31
  versus:
32
- rye (= 0.9.8), 0.9.8 activated depends on
33
- net-ssh (>= 2.0.13), 2.2.2 activated depends on
32
+ rye (= 0.9.8), 0.9.8 activated, depends on
33
+ net-ssh (>= 2.0.13), 2.2.2 activated, depends on
34
34
  net-ssh (>= 2.6.5)
35
35
 
36
36
  EXPECTED
@@ -45,6 +45,15 @@ class TestGemResolverDependencyRequest < Gem::TestCase
45
45
  assert a_pre_dr.match? spec
46
46
  end
47
47
 
48
+ def test_match_eh_prerelease_allow_prerelease
49
+ spec = util_spec 'a', '2.a'
50
+
51
+ a_dep = dep 'a', '>= 1'
52
+ a_dr = @DR.new a_dep, nil
53
+
54
+ assert a_dr.match? spec, true
55
+ end
56
+
48
57
  def test_matches_spec_eh
49
58
  spec = util_spec 'a', 1
50
59
  dependency = dep 'a', '>= 1'
@@ -189,6 +189,18 @@ class TestGemResolverInstallerSet < Gem::TestCase
189
189
  assert_equal specs["a-2-#{Gem::Platform.local}"].full_name, spec.full_name
190
190
  end
191
191
 
192
+ def test_prerelease_equals
193
+ set = Gem::Resolver::InstallerSet.new :remote
194
+
195
+ refute set.prerelease
196
+ refute set.remote_set.prerelease
197
+
198
+ set.prerelease = true
199
+
200
+ assert set.prerelease
201
+ assert set.remote_set.prerelease
202
+ end
203
+
192
204
  def test_remote_equals_both
193
205
  set = Gem::Resolver::InstallerSet.new :both
194
206
  set.remote = true
@@ -83,5 +83,16 @@ class TestGemResolverLockSpecification < Gem::TestCase
83
83
  assert_equal [b_dep, c_dep], l_spec.spec.dependencies
84
84
  end
85
85
 
86
+ def test_spec_loaded
87
+ real_spec = util_spec 'a', 2
88
+ real_spec.activate
89
+
90
+ version = v(2)
91
+
92
+ l_spec = @LS.new @set, 'a', version, @source, Gem::Platform::RUBY
93
+
94
+ assert_same real_spec, l_spec.spec
95
+ end
96
+
86
97
  end
87
98
 
@@ -11,10 +11,12 @@ class TestGemResolverVendorSet < Gem::TestCase
11
11
  def test_add_vendor_gem
12
12
  name, version, directory = vendor_gem
13
13
 
14
- @set.add_vendor_gem name, directory
14
+ added = @set.add_vendor_gem name, directory
15
15
 
16
16
  spec = @set.load_spec name, version, Gem::Platform::RUBY, nil
17
17
 
18
+ assert_equal spec, added
19
+
18
20
  assert_equal "#{name}-#{version}", spec.full_name
19
21
 
20
22
  assert_equal File.expand_path(directory), spec.full_gem_path
@@ -9,6 +9,11 @@ class TestGemSilentUI < Gem::TestCase
9
9
  @sui = Gem::SilentUI.new
10
10
  end
11
11
 
12
+ def teardown
13
+ @sui.close
14
+ super
15
+ end
16
+
12
17
  def test_ask
13
18
  value = nil
14
19
  out, err = capture_io do
@@ -1,5 +1,6 @@
1
1
  require 'rubygems/test_case'
2
2
  require 'rubygems/source'
3
+ require 'rubygems/indexer'
3
4
 
4
5
  class TestGemSource < Gem::TestCase
5
6
 
@@ -50,6 +51,18 @@ class TestGemSource < Gem::TestCase
50
51
  assert_kind_of Gem::Resolver::APISet, set
51
52
  end
52
53
 
54
+ def test_dependency_resolver_set_file_uri
55
+ skip 'install builder gem' unless defined? Builder::XChar
56
+
57
+ Gem::Indexer.new(@tempdir).generate_index
58
+
59
+ source = Gem::Source.new "file://#{@tempdir}/"
60
+
61
+ set = source.dependency_resolver_set
62
+
63
+ assert_kind_of Gem::Resolver::IndexSet, set
64
+ end
65
+
53
66
  def test_dependency_resolver_set_marshal_api
54
67
  set = @source.dependency_resolver_set
55
68
 
@@ -180,6 +180,17 @@ class TestGemSourceGit < Gem::TestCase
180
180
  source.cache
181
181
 
182
182
  refute_equal master_head, source.rev_parse
183
+
184
+ source = Gem::Source::Git.new @name, @repository, 'nonexistent', false
185
+
186
+ source.cache
187
+
188
+ e = assert_raises Gem::Exception do
189
+ source.rev_parse
190
+ end
191
+
192
+ assert_equal "unable to find reference nonexistent in #{@repository}",
193
+ e.message
183
194
  end
184
195
 
185
196
  def test_root_dir
@@ -273,6 +284,10 @@ class TestGemSourceGit < Gem::TestCase
273
284
  end
274
285
  end
275
286
 
287
+ def test_uri
288
+ assert_equal URI(@repository), @source.uri
289
+ end
290
+
276
291
  def test_uri_hash
277
292
  assert_equal @hash, @source.uri_hash
278
293
 
@@ -1,4 +1,3 @@
1
- # -*- coding: UTF-8 -*-
2
1
  require 'rubygems/test_case'
3
2
  require 'pathname'
4
3
  require 'stringio'
@@ -1136,6 +1135,24 @@ dependencies: []
1136
1135
  assert_equal %w[lib/code.rb], @a2.files
1137
1136
  end
1138
1137
 
1138
+ def test_build_args
1139
+ ext_spec
1140
+
1141
+ assert_empty @ext.build_args
1142
+
1143
+ open @ext.build_info_file, 'w' do |io|
1144
+ io.puts
1145
+ end
1146
+
1147
+ assert_empty @ext.build_args
1148
+
1149
+ open @ext.build_info_file, 'w' do |io|
1150
+ io.puts '--with-foo-dir=wherever'
1151
+ end
1152
+
1153
+ assert_equal %w[--with-foo-dir=wherever], @ext.build_args
1154
+ end
1155
+
1139
1156
  def test_build_extensions
1140
1157
  ext_spec
1141
1158
 
@@ -1235,8 +1252,10 @@ dependencies: []
1235
1252
  @ext.build_extensions
1236
1253
  refute_path_exists @ext.extension_dir
1237
1254
  ensure
1238
- FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
1239
- FileUtils.chmod 0755, @ext.base_dir
1255
+ unless ($DEBUG or win_platform?) then
1256
+ FileUtils.chmod 0755, File.join(@ext.base_dir, 'extensions')
1257
+ FileUtils.chmod 0755, @ext.base_dir
1258
+ end
1240
1259
  end
1241
1260
 
1242
1261
  def test_build_extensions_no_extensions_dir_unwritable
@@ -1801,7 +1820,7 @@ dependencies: []
1801
1820
 
1802
1821
  @ext.require_paths = 'lib'
1803
1822
 
1804
- assert_equal ['/foo/ext-1', 'lib'], @ext.require_paths
1823
+ assert_equal [File.expand_path('/foo/ext-1'), 'lib'], @ext.require_paths
1805
1824
  end
1806
1825
  ensure
1807
1826
  class << Gem
@@ -2278,6 +2297,7 @@ end
2278
2297
  @a1.add_runtime_dependency 'k', '> 1.2'
2279
2298
  @a1.add_runtime_dependency 'l', '> 1.2.3'
2280
2299
  @a1.add_runtime_dependency 'm', '~> 2.1.0'
2300
+ @a1.add_runtime_dependency 'n', '~> 0.1.0'
2281
2301
 
2282
2302
  use_ui @ui do
2283
2303
  @a1.validate
@@ -2931,15 +2951,31 @@ end
2931
2951
  end
2932
2952
 
2933
2953
  def test_find_by_name
2934
- util_make_gems
2935
- assert(Gem::Specification.find_by_name("a"))
2936
- assert(Gem::Specification.find_by_name("a", "1"))
2937
- assert(Gem::Specification.find_by_name("a", ">1"))
2938
- assert_raises(Gem::LoadError) do
2939
- Gem::Specification.find_by_name("monkeys")
2954
+ util_spec "a"
2955
+
2956
+ assert Gem::Specification.find_by_name "a"
2957
+ assert Gem::Specification.find_by_name "a", "1"
2958
+ assert Gem::Specification.find_by_name "a", ">1"
2959
+
2960
+ assert_raises Gem::LoadError do
2961
+ Gem::Specification.find_by_name "monkeys"
2940
2962
  end
2941
2963
  end
2942
2964
 
2965
+ def test_find_by_name_prerelease
2966
+ b = util_spec "b", "2.a"
2967
+
2968
+ b.activate
2969
+
2970
+ assert Gem::Specification.find_by_name "b"
2971
+
2972
+ assert_raises Gem::LoadError do
2973
+ Gem::Specification.find_by_name "b", "1"
2974
+ end
2975
+
2976
+ assert Gem::Specification.find_by_name "b", ">1"
2977
+ end
2978
+
2943
2979
  def test_find_by_path
2944
2980
  a = new_spec "foo", "1", nil, "lib/foo.rb"
2945
2981
 
@@ -113,6 +113,16 @@ class TestStubSpecification < Gem::TestCase
113
113
  end
114
114
 
115
115
  def test_to_spec
116
+ real_foo = util_spec @foo.name, @foo.version
117
+ real_foo.activate
118
+
119
+ assert_equal @foo.version, Gem.loaded_specs[@foo.name].version,
120
+ 'sanity check'
121
+
122
+ assert_same real_foo, @foo.to_spec
123
+ end
124
+
125
+ def test_to_spec_activated
116
126
  assert @foo.to_spec.is_a?(Gem::Specification)
117
127
  assert_equal "foo", @foo.to_spec.name
118
128
  refute @foo.to_spec.instance_variable_defined? :@ignored
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.4.1
4
+ version: 2.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jim Weirich
@@ -31,7 +31,7 @@ cert_chain:
31
31
  pfkQPF5Ezsi73pEpFN93Fy21NKCYQH1jCwWeKUF29MIMGd6kE3ZmHW/7fz5GwKIM
32
32
  Ls5SgY48a0l7Hw==
33
33
  -----END CERTIFICATE-----
34
- date: 2014-07-17 00:00:00.000000000 Z
34
+ date: 2014-10-01 00:00:00.000000000 Z
35
35
  dependencies:
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: minitest
@@ -548,7 +548,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
548
548
  version: '0'
549
549
  requirements: []
550
550
  rubyforge_project: rubygems-update
551
- rubygems_version: 2.3.0
551
+ rubygems_version: 2.4.1
552
552
  signing_key:
553
553
  specification_version: 4
554
554
  summary: RubyGems is a package management framework for Ruby
metadata.gz.sig CHANGED
Binary file