mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
[rubygems/rubygems] Fix error handling of #with_engine_version
* If settings constants fail, show that exception instead of getting
another one due to variables being unset and hiding the real cause.
f38cd67874
This commit is contained in:
parent
f9dac1bd54
commit
2ea2108a9f
1 changed files with 13 additions and 12 deletions
|
@ -34,21 +34,22 @@ class TestGemRequestSetGemDependencyAPI < Gem::TestCase
|
|||
|
||||
Gem.instance_variable_set :@ruby_version, Gem::Version.new(version)
|
||||
|
||||
yield
|
||||
begin
|
||||
yield
|
||||
ensure
|
||||
Object.send :remove_const, :RUBY_ENGINE if name
|
||||
Object.send :remove_const, new_engine_version_const if version
|
||||
|
||||
ensure
|
||||
Object.send :remove_const, :RUBY_ENGINE if name
|
||||
Object.send :remove_const, new_engine_version_const if version
|
||||
Object.send :remove_const, engine_version_const if name == 'ruby' and
|
||||
Object.const_defined? engine_version_const
|
||||
|
||||
Object.send :remove_const, engine_version_const if name == 'ruby' and
|
||||
Object.const_defined? engine_version_const
|
||||
Object.const_set :RUBY_ENGINE, engine if engine
|
||||
Object.const_set engine_version_const, engine_version unless
|
||||
Object.const_defined? engine_version_const
|
||||
|
||||
Object.const_set :RUBY_ENGINE, engine if engine
|
||||
Object.const_set engine_version_const, engine_version unless
|
||||
Object.const_defined? engine_version_const
|
||||
|
||||
Gem.send :remove_instance_variable, :@ruby_version if
|
||||
Gem.instance_variables.include? :@ruby_version
|
||||
Gem.send :remove_instance_variable, :@ruby_version if
|
||||
Gem.instance_variables.include? :@ruby_version
|
||||
end
|
||||
end
|
||||
|
||||
def test_gempspec_with_multiple_runtime_deps
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue