diff options
Diffstat (limited to 'test/ruby/test_thread.rb')
-rw-r--r-- | test/ruby/test_thread.rb | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb index bff34b3b25..454229ae85 100644 --- a/test/ruby/test_thread.rb +++ b/test/ruby/test_thread.rb @@ -563,6 +563,34 @@ class TestThread < Test::Unit::TestCase Thread.async_interrupt_timing([]) {} # array } end + + def for_test_async_interrupt_with_return + Thread.async_interrupt_timing(Object => :defer){ + Thread.current.raise RuntimeError.new("have to be rescured") + return + } + rescue + end + + def test_async_interrupt_with_return + assert_nothing_raised do + for_test_async_interrupt_with_return + dummy_for_check_ints=nil + end + end + + def test_async_interrupt_with_break + assert_nothing_raised do + begin + Thread.async_interrupt_timing(Object => :defer){ + Thread.current.raise RuntimeError.new("have to be rescured") + break + } + rescue + end + dummy_for_check_ints=nil + end + end def test_async_interrupt_blocking r=:ng |