1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/-ext-/exception/test_exception_at_throwing.rb
naruse aeddf6677a merge revision(s) 57510,57511: [Backport #13176]
eval.c: hide internal objects

	* eval.c (rb_ensure): veil internal exception objects not to leak
	  in ensure functions.  [ruby-core:79371] [Bug #13176]
	ensured.c: fix conflict

	* ext/-test-/exception/ensured.c (exc_raise): get rid of conflict
	  with raise(2) in the standard.  [ruby-core:79371] [Bug #13176]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@57885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-03-11 19:18:45 +00:00

18 lines
473 B
Ruby

# frozen_string_literal: true
require 'test/unit'
module Bug
class TestException < Test::Unit::TestCase
def test_exception_at_throwing
assert_separately(%w[-r-test-/exception], "#{<<-"begin;"}\n#{<<-"end;"}")
begin;
e = RuntimeError.new("[Bug #13176]")
assert_raise_with_message(e.class, e.message) do
catch do |t|
Bug::Exception.ensure_raise(nil, e) {throw t}
end
end
end;
end
end
end