[rubygems/rubygems] Don't crash when updating to an unsupported rubygems-update
version
https://github.com/rubygems/rubygems/commit/b0badcd00a
This commit is contained in:
parent
ebb4044dec
commit
be476f38f9
@ -288,7 +288,9 @@ command to remove old versions.
|
|||||||
|
|
||||||
installed_gems = Gem::Specification.find_all_by_name 'rubygems-update', requirement
|
installed_gems = Gem::Specification.find_all_by_name 'rubygems-update', requirement
|
||||||
installed_gems = update_gem('rubygems-update', version) if installed_gems.empty?
|
installed_gems = update_gem('rubygems-update', version) if installed_gems.empty?
|
||||||
version = installed_gems.first.version
|
return if installed_gems.empty?
|
||||||
|
|
||||||
|
version = installed_gems.first.version
|
||||||
|
|
||||||
install_rubygems version
|
install_rubygems version
|
||||||
end
|
end
|
||||||
|
@ -106,6 +106,31 @@ class TestGemCommandsUpdateCommand < Gem::TestCase
|
|||||||
assert_empty out
|
assert_empty out
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_execute_system_when_latest_does_not_support_your_ruby
|
||||||
|
spec_fetcher do |fetcher|
|
||||||
|
fetcher.download 'rubygems-update', 9 do |s|
|
||||||
|
s.files = %w[setup.rb]
|
||||||
|
s.required_ruby_version = '> 9'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
@cmd.options[:args] = []
|
||||||
|
@cmd.options[:system] = true
|
||||||
|
|
||||||
|
use_ui @ui do
|
||||||
|
@cmd.execute
|
||||||
|
end
|
||||||
|
|
||||||
|
out = @ui.output.split "\n"
|
||||||
|
assert_equal "Updating rubygems-update", out.shift
|
||||||
|
assert_empty out
|
||||||
|
|
||||||
|
err = @ui.error.split "\n"
|
||||||
|
assert_equal "ERROR: Error installing rubygems-update:", err.shift
|
||||||
|
assert_equal "\trubygems-update-9 requires Ruby version > 9. The current ruby version is #{Gem.ruby_version}.", err.shift
|
||||||
|
assert_empty err
|
||||||
|
end
|
||||||
|
|
||||||
def test_execute_system_multiple
|
def test_execute_system_multiple
|
||||||
spec_fetcher do |fetcher|
|
spec_fetcher do |fetcher|
|
||||||
fetcher.download 'rubygems-update', 8 do |s|
|
fetcher.download 'rubygems-update', 8 do |s|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user