rubygems-update 2.4.1 → 2.4.2

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.

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