diff options
author | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-28 02:26:39 +0000 |
---|---|---|
committer | hsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2016-03-28 02:26:39 +0000 |
commit | 7fbb9078fe61104606a40e4e450a2cd1a33f8ca1 (patch) | |
tree | bd57731d31e70e0b5837bcff618f0b56b2be3b5e /test/rubygems/test_require.rb | |
parent | 6cc4937aec6596bff58fc946b4b00c7b546e494a (diff) | |
download | ruby-7fbb9078fe61104606a40e4e450a2cd1a33f8ca1.tar.gz |
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2.
Please see entries of 2.6.2 on
https://github.com/rubygems/rubygems/blob/master/History.txt
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54308 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test/rubygems/test_require.rb')
-rw-r--r-- | test/rubygems/test_require.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/rubygems/test_require.rb b/test/rubygems/test_require.rb index ec0c48ac68..04cbc094d8 100644 --- a/test/rubygems/test_require.rb +++ b/test/rubygems/test_require.rb @@ -319,4 +319,32 @@ class TestGemRequire < Gem::TestCase def unresolved_names Gem::Specification.unresolved_deps.values.map(&:to_s).sort end + + def test_try_activate_error_unlocks_require_monitor + silence_warnings do + class << ::Gem + alias old_try_activate try_activate + def try_activate(*); raise 'raised from try_activate'; end + end + end + + require 'does_not_exist_for_try_activate_test' + rescue RuntimeError => e + assert_match(/raised from try_activate/, e.message) + assert Kernel::RUBYGEMS_ACTIVATION_MONITOR.try_enter, "require monitor was not unlocked when try_activate raised" + ensure + silence_warnings do + class << ::Gem + alias try_activate old_try_activate + end + end + Kernel::RUBYGEMS_ACTIVATION_MONITOR.exit + end + + def silence_warnings + old_verbose, $VERBOSE = $VERBOSE, false + yield + ensure + $VERBOSE = old_verbose + end end |