rubygems-update 2.3.0 → 2.4.0
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 +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- data/CONTRIBUTING +14 -2
- data/History.txt +63 -0
- data/Rakefile +68 -91
- data/lib/rubygems.rb +5 -3
- data/lib/rubygems/command_manager.rb +1 -0
- data/lib/rubygems/commands/contents_command.rb +23 -2
- data/lib/rubygems/commands/install_command.rb +8 -0
- data/lib/rubygems/commands/open_command.rb +1 -8
- data/lib/rubygems/commands/uninstall_command.rb +9 -1
- data/lib/rubygems/commands/update_command.rb +1 -1
- data/lib/rubygems/core_ext/kernel_gem.rb +8 -1
- data/lib/rubygems/core_ext/kernel_require.rb +12 -22
- data/lib/rubygems/defaults.rb +17 -5
- data/lib/rubygems/dependency.rb +7 -1
- data/lib/rubygems/dependency_installer.rb +3 -0
- data/lib/rubygems/ext/ext_conf_builder.rb +13 -11
- data/lib/rubygems/install_update_options.rb +13 -0
- data/lib/rubygems/installer.rb +36 -20
- data/lib/rubygems/installer_test_case.rb +2 -0
- data/lib/rubygems/local_remote_options.rb +1 -1
- data/lib/rubygems/name_tuple.rb +1 -1
- data/lib/rubygems/request_set.rb +14 -3
- data/lib/rubygems/request_set/gem_dependency_api.rb +12 -0
- data/lib/rubygems/request_set/lockfile.rb +3 -1
- data/lib/rubygems/resolver.rb +15 -0
- data/lib/rubygems/resolver/best_set.rb +28 -0
- data/lib/rubygems/resolver/conflict.rb +45 -7
- data/lib/rubygems/resolver/git_specification.rb +24 -0
- data/lib/rubygems/resolver/lock_specification.rb +22 -0
- data/lib/rubygems/source.rb +2 -0
- data/lib/rubygems/source/git.rb +1 -1
- data/lib/rubygems/source/installed.rb +2 -1
- data/lib/rubygems/specification.rb +16 -15
- data/lib/rubygems/test_case.rb +9 -5
- data/test/rubygems/test_gem.rb +72 -2
- data/test/rubygems/test_gem_commands_contents_command.rb +46 -3
- data/test/rubygems/test_gem_commands_install_command.rb +32 -0
- data/test/rubygems/test_gem_commands_uninstall_command.rb +18 -0
- data/test/rubygems/test_gem_dependency.rb +23 -0
- data/test/rubygems/test_gem_dependency_installer.rb +17 -0
- data/test/rubygems/test_gem_ext_builder.rb +12 -1
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +2 -2
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +24 -8
- data/test/rubygems/test_gem_install_update_options.rb +16 -0
- data/test/rubygems/test_gem_installer.rb +52 -0
- data/test/rubygems/test_gem_local_remote_options.rb +13 -0
- data/test/rubygems/test_gem_package.rb +3 -1
- data/test/rubygems/test_gem_package_tar_header.rb +2 -0
- data/test/rubygems/test_gem_package_tar_reader.rb +11 -1
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +17 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +1 -0
- data/test/rubygems/test_gem_remote_fetcher.rb +24 -0
- data/test/rubygems/test_gem_request_set.rb +74 -4
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +9 -1
- data/test/rubygems/test_gem_request_set_lockfile.rb +3 -1
- data/test/rubygems/test_gem_requirement.rb +8 -0
- data/test/rubygems/test_gem_resolver.rb +39 -0
- data/test/rubygems/test_gem_resolver_best_set.rb +57 -0
- data/test/rubygems/test_gem_resolver_conflict.rb +22 -10
- data/test/rubygems/test_gem_resolver_git_specification.rb +12 -0
- data/test/rubygems/test_gem_source_git.rb +6 -2
- data/test/rubygems/test_gem_source_installed.rb +8 -0
- data/test/rubygems/test_gem_source_lock.rb +2 -2
- data/test/rubygems/test_gem_source_vendor.rb +4 -0
- data/test/rubygems/test_kernel.rb +6 -0
- data/test/rubygems/test_require.rb +60 -0
- metadata +5 -5
- metadata.gz.sig +0 -0
data/lib/rubygems/test_case.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
begin
|
4
4
|
gem 'minitest', '~> 4.0'
|
5
|
-
rescue NoMethodError
|
5
|
+
rescue NoMethodError, Gem::LoadError
|
6
6
|
# for ruby tests
|
7
7
|
end
|
8
8
|
|
@@ -218,8 +218,11 @@ class Gem::TestCase < MiniTest::Unit::TestCase
|
|
218
218
|
def setup
|
219
219
|
super
|
220
220
|
|
221
|
-
@orig_gem_home
|
222
|
-
@orig_gem_path
|
221
|
+
@orig_gem_home = ENV['GEM_HOME']
|
222
|
+
@orig_gem_path = ENV['GEM_PATH']
|
223
|
+
@orig_gem_vendor = ENV['GEM_VENDOR']
|
224
|
+
|
225
|
+
ENV['GEM_VENDOR'] = nil
|
223
226
|
|
224
227
|
@current_dir = Dir.pwd
|
225
228
|
@fetcher = nil
|
@@ -347,8 +350,9 @@ class Gem::TestCase < MiniTest::Unit::TestCase
|
|
347
350
|
|
348
351
|
FileUtils.rm_rf @tempdir unless ENV['KEEP_FILES']
|
349
352
|
|
350
|
-
ENV['GEM_HOME']
|
351
|
-
ENV['GEM_PATH']
|
353
|
+
ENV['GEM_HOME'] = @orig_gem_home
|
354
|
+
ENV['GEM_PATH'] = @orig_gem_path
|
355
|
+
ENV['GEM_VENDOR'] = @orig_gem_vendor
|
352
356
|
|
353
357
|
Gem.ruby = @orig_ruby if @orig_ruby
|
354
358
|
|
data/test/rubygems/test_gem.rb
CHANGED
@@ -75,6 +75,21 @@ class TestGem < Gem::TestCase
|
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
78
|
+
def test_self_install
|
79
|
+
spec_fetcher do |f|
|
80
|
+
f.gem 'a', 1
|
81
|
+
f.spec 'a', 2
|
82
|
+
end
|
83
|
+
|
84
|
+
gemhome2 = "#{@gemhome}2"
|
85
|
+
|
86
|
+
installed = Gem.install 'a', '= 1', :install_dir => gemhome2
|
87
|
+
|
88
|
+
assert_equal %w[a-1], installed.map { |spec| spec.full_name }
|
89
|
+
|
90
|
+
assert_path_exists File.join(gemhome2, 'gems', 'a-1')
|
91
|
+
end
|
92
|
+
|
78
93
|
def test_require_missing
|
79
94
|
save_loaded_features do
|
80
95
|
assert_raises ::LoadError do
|
@@ -216,6 +231,45 @@ class TestGem < Gem::TestCase
|
|
216
231
|
end
|
217
232
|
end
|
218
233
|
|
234
|
+
def test_default_path
|
235
|
+
orig_vendordir = RbConfig::CONFIG['vendordir']
|
236
|
+
RbConfig::CONFIG['vendordir'] = File.join @tempdir, 'vendor'
|
237
|
+
|
238
|
+
FileUtils.rm_rf Gem.user_home
|
239
|
+
|
240
|
+
expected = [Gem.default_dir]
|
241
|
+
|
242
|
+
assert_equal expected, Gem.default_path
|
243
|
+
ensure
|
244
|
+
RbConfig::CONFIG['vendordir'] = orig_vendordir
|
245
|
+
end
|
246
|
+
|
247
|
+
def test_default_path_user_home
|
248
|
+
orig_vendordir = RbConfig::CONFIG['vendordir']
|
249
|
+
RbConfig::CONFIG['vendordir'] = File.join @tempdir, 'vendor'
|
250
|
+
|
251
|
+
expected = [Gem.user_dir, Gem.default_dir]
|
252
|
+
|
253
|
+
assert_equal expected, Gem.default_path
|
254
|
+
ensure
|
255
|
+
RbConfig::CONFIG['vendordir'] = orig_vendordir
|
256
|
+
end
|
257
|
+
|
258
|
+
def test_default_path_vendor_dir
|
259
|
+
orig_vendordir = RbConfig::CONFIG['vendordir']
|
260
|
+
RbConfig::CONFIG['vendordir'] = File.join @tempdir, 'vendor'
|
261
|
+
|
262
|
+
FileUtils.mkdir_p Gem.vendor_dir
|
263
|
+
|
264
|
+
FileUtils.rm_rf Gem.user_home
|
265
|
+
|
266
|
+
expected = [Gem.default_dir, Gem.vendor_dir]
|
267
|
+
|
268
|
+
assert_equal expected, Gem.default_path
|
269
|
+
ensure
|
270
|
+
RbConfig::CONFIG['vendordir'] = orig_vendordir
|
271
|
+
end
|
272
|
+
|
219
273
|
def test_self_default_sources
|
220
274
|
assert_equal %w[https://rubygems.org/], Gem.default_sources
|
221
275
|
end
|
@@ -968,6 +1022,21 @@ class TestGem < Gem::TestCase
|
|
968
1022
|
end
|
969
1023
|
end
|
970
1024
|
|
1025
|
+
def test_self_vendor_dir
|
1026
|
+
expected =
|
1027
|
+
File.join RbConfig::CONFIG['vendordir'], 'gems',
|
1028
|
+
RbConfig::CONFIG['ruby_version']
|
1029
|
+
|
1030
|
+
assert_equal expected, Gem.vendor_dir
|
1031
|
+
end
|
1032
|
+
|
1033
|
+
def test_self_vendor_dir_ENV_GEM_VENDOR
|
1034
|
+
ENV['GEM_VENDOR'] = File.join @tempdir, 'vendor', 'gems'
|
1035
|
+
|
1036
|
+
assert_equal ENV['GEM_VENDOR'], Gem.vendor_dir
|
1037
|
+
refute Gem.vendor_dir.frozen?
|
1038
|
+
end
|
1039
|
+
|
971
1040
|
def test_load_plugins
|
972
1041
|
skip 'Insecure operation - chdir' if RUBY_VERSION <= "1.8.7"
|
973
1042
|
plugin_path = File.join "lib", "rubygems_plugin.rb"
|
@@ -1268,15 +1337,16 @@ class TestGem < Gem::TestCase
|
|
1268
1337
|
end
|
1269
1338
|
|
1270
1339
|
def test_use_gemdeps
|
1340
|
+
gem_deps_file = 'gem.deps.rb'.untaint
|
1271
1341
|
spec = util_spec 'a', 1
|
1272
1342
|
|
1273
1343
|
refute spec.activated?
|
1274
1344
|
|
1275
|
-
open
|
1345
|
+
open gem_deps_file, 'w' do |io|
|
1276
1346
|
io.write 'gem "a"'
|
1277
1347
|
end
|
1278
1348
|
|
1279
|
-
Gem.use_gemdeps
|
1349
|
+
Gem.use_gemdeps gem_deps_file
|
1280
1350
|
|
1281
1351
|
assert spec.activated?
|
1282
1352
|
end
|
@@ -9,8 +9,8 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
9
9
|
@cmd = Gem::Commands::ContentsCommand.new
|
10
10
|
end
|
11
11
|
|
12
|
-
def gem name
|
13
|
-
spec = quick_gem name do |gem|
|
12
|
+
def gem name, version = 2
|
13
|
+
spec = quick_gem name, version do |gem|
|
14
14
|
gem.files = %W[lib/#{name}.rb Rakefile]
|
15
15
|
end
|
16
16
|
write_file File.join(*%W[gems #{spec.full_name} lib #{name}.rb])
|
@@ -135,6 +135,40 @@ class TestGemCommandsContentsCommand < Gem::TestCase
|
|
135
135
|
assert_equal "", @ui.error
|
136
136
|
end
|
137
137
|
|
138
|
+
def test_execute_show_install_dir
|
139
|
+
@cmd.options[:args] = %w[foo]
|
140
|
+
@cmd.options[:show_install_dir] = true
|
141
|
+
|
142
|
+
gem 'foo'
|
143
|
+
|
144
|
+
use_ui @ui do
|
145
|
+
@cmd.execute
|
146
|
+
end
|
147
|
+
|
148
|
+
expected = File.join @gemhome, 'gems', 'foo-2'
|
149
|
+
|
150
|
+
assert_equal "#{expected}\n", @ui.output
|
151
|
+
assert_equal "", @ui.error
|
152
|
+
end
|
153
|
+
|
154
|
+
def test_execute_show_install_dir_version
|
155
|
+
@cmd.options[:args] = %w[foo]
|
156
|
+
@cmd.options[:show_install_dir] = true
|
157
|
+
@cmd.options[:version] = Gem::Requirement.new '= 1'
|
158
|
+
|
159
|
+
gem 'foo', 1
|
160
|
+
gem 'foo', 2
|
161
|
+
|
162
|
+
use_ui @ui do
|
163
|
+
@cmd.execute
|
164
|
+
end
|
165
|
+
|
166
|
+
expected = File.join @gemhome, 'gems', 'foo-1'
|
167
|
+
|
168
|
+
assert_equal "#{expected}\n", @ui.output
|
169
|
+
assert_equal "", @ui.error
|
170
|
+
end
|
171
|
+
|
138
172
|
def test_execute_no_prefix
|
139
173
|
@cmd.options[:args] = %w[foo]
|
140
174
|
@cmd.options[:prefix] = false
|
@@ -183,13 +217,22 @@ lib/foo.rb
|
|
183
217
|
assert @cmd.options[:prefix]
|
184
218
|
assert_empty @cmd.options[:specdirs]
|
185
219
|
assert_nil @cmd.options[:version]
|
220
|
+
refute @cmd.options[:show_install_dir]
|
186
221
|
|
187
|
-
@cmd.send :handle_options, %w[
|
222
|
+
@cmd.send :handle_options, %w[
|
223
|
+
-l
|
224
|
+
-s
|
225
|
+
foo
|
226
|
+
--version 0.0.2
|
227
|
+
--no-prefix
|
228
|
+
--show-install-dir
|
229
|
+
]
|
188
230
|
|
189
231
|
assert @cmd.options[:lib_only]
|
190
232
|
refute @cmd.options[:prefix]
|
191
233
|
assert_equal %w[foo], @cmd.options[:specdirs]
|
192
234
|
assert_equal Gem::Requirement.new('0.0.2'), @cmd.options[:version]
|
235
|
+
assert @cmd.options[:show_install_dir]
|
193
236
|
end
|
194
237
|
|
195
238
|
end
|
@@ -565,6 +565,11 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
565
565
|
end
|
566
566
|
|
567
567
|
def test_install_gem_ignore_dependencies_both
|
568
|
+
done_installing = false
|
569
|
+
Gem.done_installing do
|
570
|
+
done_installing = true
|
571
|
+
end
|
572
|
+
|
568
573
|
spec = quick_spec 'a', 2
|
569
574
|
|
570
575
|
util_build_gem spec
|
@@ -576,6 +581,8 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
576
581
|
@cmd.install_gem 'a', '>= 0'
|
577
582
|
|
578
583
|
assert_equal %w[a-2], @cmd.installed_specs.map { |s| s.full_name }
|
584
|
+
|
585
|
+
assert done_installing, 'documentation was not generated'
|
579
586
|
end
|
580
587
|
|
581
588
|
def test_install_gem_ignore_dependencies_remote
|
@@ -729,6 +736,31 @@ ERROR: Possible alternatives: non_existent_with_hint
|
|
729
736
|
assert !File.exist?("#{@gemdeps}.lock")
|
730
737
|
end
|
731
738
|
|
739
|
+
def test_execute_installs_from_a_gemdeps_with_conservative
|
740
|
+
spec_fetcher do |fetcher|
|
741
|
+
fetcher.gem 'a', 2
|
742
|
+
fetcher.clear
|
743
|
+
fetcher.gem 'a', 1
|
744
|
+
end
|
745
|
+
|
746
|
+
File.open @gemdeps, "w" do |f|
|
747
|
+
f << "gem 'a'"
|
748
|
+
end
|
749
|
+
|
750
|
+
@cmd.handle_options %w[--conservative]
|
751
|
+
@cmd.options[:gemdeps] = @gemdeps
|
752
|
+
|
753
|
+
use_ui @ui do
|
754
|
+
assert_raises Gem::MockGemUi::SystemExitException, @ui.error do
|
755
|
+
@cmd.execute
|
756
|
+
end
|
757
|
+
end
|
758
|
+
|
759
|
+
assert_equal %w[], @cmd.installed_specs.map { |spec| spec.full_name }
|
760
|
+
|
761
|
+
assert_match "Using a (1)", @ui.output
|
762
|
+
end
|
763
|
+
|
732
764
|
def test_execute_installs_from_a_gemdeps
|
733
765
|
spec_fetcher do |fetcher|
|
734
766
|
fetcher.gem 'a', 2
|
@@ -239,6 +239,24 @@ class TestGemCommandsUninstallCommand < Gem::InstallerTestCase
|
|
239
239
|
assert_equal nil, @cmd.options[:install_dir]
|
240
240
|
assert_equal true, @cmd.options[:user_install]
|
241
241
|
assert_equal Gem::Requirement.default, @cmd.options[:version]
|
242
|
+
assert_equal false, @cmd.options[:vendor]
|
243
|
+
end
|
244
|
+
|
245
|
+
def test_handle_options_vendor
|
246
|
+
use_ui @ui do
|
247
|
+
@cmd.handle_options %w[--vendor]
|
248
|
+
end
|
249
|
+
|
250
|
+
assert @cmd.options[:vendor]
|
251
|
+
assert_equal Gem.vendor_dir, @cmd.options[:install_dir]
|
252
|
+
|
253
|
+
assert_empty @ui.output
|
254
|
+
|
255
|
+
expected = <<-EXPECTED
|
256
|
+
WARNING: Use your OS package manager to uninstall vendor gems
|
257
|
+
EXPECTED
|
258
|
+
|
259
|
+
assert_equal expected, @ui.error
|
242
260
|
end
|
243
261
|
|
244
262
|
end
|
@@ -266,6 +266,29 @@ class TestGemDependency < Gem::TestCase
|
|
266
266
|
assert dep('a', '= 1').specific?
|
267
267
|
end
|
268
268
|
|
269
|
+
def test_to_spec
|
270
|
+
util_spec 'a', '1'
|
271
|
+
a_2 = util_spec 'a', '2'
|
272
|
+
|
273
|
+
a_dep = dep 'a', '>= 0'
|
274
|
+
|
275
|
+
assert_equal a_2, a_dep.to_spec
|
276
|
+
end
|
277
|
+
|
278
|
+
def test_to_spec_prerelease
|
279
|
+
a_1 = util_spec 'a', '1'
|
280
|
+
a_1_1_a = util_spec 'a', '1.1.a'
|
281
|
+
|
282
|
+
a_dep = dep 'a', '>= 0'
|
283
|
+
|
284
|
+
assert_equal a_1, a_dep.to_spec
|
285
|
+
|
286
|
+
a_pre_dep = dep 'a', '>= 0'
|
287
|
+
a_pre_dep.prerelease = true
|
288
|
+
|
289
|
+
assert_equal a_1_1_a, a_pre_dep.to_spec
|
290
|
+
end
|
291
|
+
|
269
292
|
def test_to_specs_suggests_other_versions
|
270
293
|
a = util_spec 'a', '1.0', 'b' => '>= 1.0'
|
271
294
|
|
@@ -554,6 +554,23 @@ class TestGemDependencyInstaller < Gem::TestCase
|
|
554
554
|
assert_equal %w[a-1 e-1], inst.installed_gems.map { |s| s.full_name }
|
555
555
|
end
|
556
556
|
|
557
|
+
def test_install_no_document
|
558
|
+
util_setup_gems
|
559
|
+
|
560
|
+
done_installing_called = false
|
561
|
+
|
562
|
+
Gem.done_installing do |dep_installer, specs|
|
563
|
+
done_installing_called = true
|
564
|
+
assert_empty dep_installer.document
|
565
|
+
end
|
566
|
+
|
567
|
+
inst = Gem::DependencyInstaller.new :domain => :local, :document => []
|
568
|
+
|
569
|
+
inst.install @a1_gem
|
570
|
+
|
571
|
+
assert done_installing_called
|
572
|
+
end
|
573
|
+
|
557
574
|
def test_install_env_shebang
|
558
575
|
util_setup_gems
|
559
576
|
|
@@ -132,6 +132,17 @@ install:
|
|
132
132
|
assert_path_exists File.join @spec.gem_dir, 'lib', 'a', 'b.rb'
|
133
133
|
end
|
134
134
|
|
135
|
+
def test_build_extensions_with_gemhome_with_space
|
136
|
+
new_gemhome = File.join @tempdir, 'gem home'
|
137
|
+
File.rename(@gemhome, new_gemhome)
|
138
|
+
@gemhome = new_gemhome
|
139
|
+
Gem.use_paths(@gemhome)
|
140
|
+
@spec = util_spec 'a'
|
141
|
+
@builder = Gem::Ext::Builder.new @spec, ''
|
142
|
+
|
143
|
+
test_build_extensions
|
144
|
+
end
|
145
|
+
|
135
146
|
def test_build_extensions_install_ext_only
|
136
147
|
class << Gem
|
137
148
|
alias orig_install_extension_in_lib install_extension_in_lib
|
@@ -226,7 +237,7 @@ install:
|
|
226
237
|
|
227
238
|
gem_make_out = File.join @spec.extension_dir, 'gem_make.out'
|
228
239
|
|
229
|
-
assert_match %r%#{Regexp.escape Gem.ruby} extconf\.rb%,
|
240
|
+
assert_match %r%#{Regexp.escape Gem.ruby}.* extconf\.rb%,
|
230
241
|
File.read(gem_make_out)
|
231
242
|
assert_match %r%: No such file%,
|
232
243
|
File.read(gem_make_out)
|
@@ -33,7 +33,7 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|
33
33
|
assert_same result, output
|
34
34
|
end
|
35
35
|
|
36
|
-
assert_match(/^#{Gem.ruby} extconf.rb/, output[0])
|
36
|
+
assert_match(/^#{Gem.ruby}.* extconf.rb/, output[0])
|
37
37
|
assert_equal "creating Makefile\n", output[1]
|
38
38
|
assert_contains_make_command 'clean', output[2]
|
39
39
|
assert_contains_make_command '', output[4]
|
@@ -106,7 +106,7 @@ class TestGemExtExtConfBuilder < Gem::TestCase
|
|
106
106
|
|
107
107
|
assert_equal 'extconf failed, exit code 1', error.message
|
108
108
|
|
109
|
-
|
109
|
+
assert_match(/^#{Gem.ruby}.* extconf.rb/, output[0])
|
110
110
|
assert_path_exists File.join @dest_path, 'mkmf.log'
|
111
111
|
end
|
112
112
|
|
@@ -28,14 +28,30 @@ class TestGemImpossibleDependenciesError < Gem::TestCase
|
|
28
28
|
|
29
29
|
expected = <<-EXPECTED
|
30
30
|
rye-0.9.8 requires net-ssh (>= 2.0.13) but it conflicted:
|
31
|
-
Activated net-ssh-2.6.5
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
net-ssh
|
37
|
-
|
38
|
-
|
31
|
+
Activated net-ssh-2.6.5
|
32
|
+
which does not match conflicting dependency (~> 2.2.2)
|
33
|
+
|
34
|
+
Conflicting dependency chains:
|
35
|
+
rye (= 0.9.8), 0.9.8 activated depends on
|
36
|
+
net-ssh (>= 2.0.13), 2.6.5 activated
|
37
|
+
|
38
|
+
versus:
|
39
|
+
rye (= 0.9.8), 0.9.8 activated depends on
|
40
|
+
net-ssh (>= 2.0.13), 2.6.5 activated depends on
|
41
|
+
net-ssh (~> 2.2.2)
|
42
|
+
|
43
|
+
Activated net-ssh-2.2.2
|
44
|
+
which does not match conflicting dependency (>= 2.6.5)
|
45
|
+
|
46
|
+
Conflicting dependency chains:
|
47
|
+
rye (= 0.9.8), 0.9.8 activated depends on
|
48
|
+
net-ssh (>= 2.0.13), 2.2.2 activated
|
49
|
+
|
50
|
+
versus:
|
51
|
+
rye (= 0.9.8), 0.9.8 activated depends on
|
52
|
+
net-ssh (>= 2.0.13), 2.2.2 activated depends on
|
53
|
+
net-ssh (>= 2.6.5)
|
54
|
+
|
39
55
|
EXPECTED
|
40
56
|
|
41
57
|
assert_equal expected, error.message
|
@@ -17,6 +17,7 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase
|
|
17
17
|
def test_add_install_update_options
|
18
18
|
args = %w[
|
19
19
|
--document
|
20
|
+
--build-root build_root
|
20
21
|
--format-exec
|
21
22
|
--ignore-dependencies
|
22
23
|
--rdoc
|
@@ -25,6 +26,7 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase
|
|
25
26
|
-f
|
26
27
|
-i /install_to
|
27
28
|
-w
|
29
|
+
--vendor
|
28
30
|
]
|
29
31
|
|
30
32
|
args.concat %w[-P HighSecurity] if defined?(OpenSSL::SSL)
|
@@ -32,6 +34,12 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase
|
|
32
34
|
assert @cmd.handles?(args)
|
33
35
|
end
|
34
36
|
|
37
|
+
def test_build_root
|
38
|
+
@cmd.handle_options %w[--build-root build_root]
|
39
|
+
|
40
|
+
assert_equal File.expand_path('build_root'), @cmd.options[:build_root]
|
41
|
+
end
|
42
|
+
|
35
43
|
def test_doc
|
36
44
|
@cmd.handle_options %w[--doc]
|
37
45
|
|
@@ -147,4 +155,12 @@ class TestGemInstallUpdateOptions < Gem::InstallerTestCase
|
|
147
155
|
ensure
|
148
156
|
FileUtils.chmod 0755, @gemhome
|
149
157
|
end
|
158
|
+
|
159
|
+
def test_vendor
|
160
|
+
@cmd.handle_options %w[--vendor]
|
161
|
+
|
162
|
+
assert @cmd.options[:vendor]
|
163
|
+
assert_equal Gem.vendor_dir, @cmd.options[:install_dir]
|
164
|
+
end
|
165
|
+
|
150
166
|
end
|