mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (rb_raise_jump): pop frame after setup exception.
Patches by deivid (David Rodriguez). [Bug #8886] * test/minitest/test_minitest_unit.rb: catch up this change. * test/ruby/test_backtrace.rb: ditto. * test/ruby/test_settracefunc.rb: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44133 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3d4ceaaa14
commit
a4cbd6412a
5 changed files with 21 additions and 5 deletions
11
ChangeLog
11
ChangeLog
|
@ -1,3 +1,14 @@
|
|||
Wed Dec 11 12:38:17 2013 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* eval.c (rb_raise_jump): pop frame after setup exception.
|
||||
Patches by deivid (David Rodriguez). [Bug #8886]
|
||||
|
||||
* test/minitest/test_minitest_unit.rb: catch up this change.
|
||||
|
||||
* test/ruby/test_backtrace.rb: ditto.
|
||||
|
||||
* test/ruby/test_settracefunc.rb: ditto.
|
||||
|
||||
Wed Dec 11 04:54:03 2013 Eric Hodel <drbrain@segment7.net>
|
||||
|
||||
* lib/rubygems: Update to RubyGems master ec8ed22. Notable changes
|
||||
|
|
4
eval.c
4
eval.c
|
@ -688,10 +688,10 @@ rb_raise_jump(VALUE mesg)
|
|||
VALUE self = cfp->self;
|
||||
ID mid = cfp->me->called_id;
|
||||
|
||||
th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
|
||||
|
||||
setup_exception(th, TAG_RAISE, mesg);
|
||||
|
||||
th->cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
|
||||
|
||||
EXEC_EVENT_HOOK(th, RUBY_EVENT_C_RETURN, self, mid, klass, Qnil);
|
||||
rb_thread_raised_clear(th);
|
||||
JUMP_TAG(TAG_RAISE);
|
||||
|
|
|
@ -296,6 +296,7 @@ class TestMiniTestRunner < MetaMetaMetaTestCase
|
|||
1) Error:
|
||||
#<Class:0xXXX>#test_error:
|
||||
RuntimeError: unhandled exception
|
||||
FILE:LINE:in \`raise\'
|
||||
FILE:LINE:in \`test_error\'
|
||||
|
||||
2 tests, 1 assertions, 0 failures, 1 errors, 0 skips
|
||||
|
@ -323,6 +324,7 @@ class TestMiniTestRunner < MetaMetaMetaTestCase
|
|||
1) Error:
|
||||
#<Class:0xXXX>#test_something:
|
||||
RuntimeError: unhandled exception
|
||||
FILE:LINE:in \`raise\'
|
||||
FILE:LINE:in \`teardown\'
|
||||
|
||||
1 tests, 1 assertions, 0 failures, 1 errors, 0 skips
|
||||
|
@ -1210,6 +1212,7 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase
|
|||
Class: <SyntaxError>
|
||||
Message: <\"icky\">
|
||||
---Backtrace---
|
||||
FILE:LINE:in \`raise\'
|
||||
FILE:LINE:in \`test_assert_raises_triggered_different\'
|
||||
---------------
|
||||
EOM
|
||||
|
@ -1233,6 +1236,7 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase
|
|||
Class: <SyntaxError>
|
||||
Message: <\"icky\">
|
||||
---Backtrace---
|
||||
FILE:LINE:in \`raise\'
|
||||
FILE:LINE:in \`test_assert_raises_triggered_different_msg\'
|
||||
---------------
|
||||
EOM
|
||||
|
@ -1279,6 +1283,7 @@ class TestMiniTestUnitTestCase < MiniTest::Unit::TestCase
|
|||
Class: <AnError>
|
||||
Message: <\"AnError\">
|
||||
---Backtrace---
|
||||
FILE:LINE:in \`raise\'
|
||||
FILE:LINE:in \`test_assert_raises_triggered_subclass\'
|
||||
---------------
|
||||
EOM
|
||||
|
|
|
@ -10,7 +10,7 @@ class TestBacktrace < Test::Unit::TestCase
|
|||
e.backtrace
|
||||
end
|
||||
}.resume
|
||||
assert_equal(1, bt.size)
|
||||
assert_equal(2, bt.size)
|
||||
assert_match(/.+:\d+:.+/, bt[0])
|
||||
end
|
||||
|
||||
|
|
|
@ -257,7 +257,7 @@ class TestSetTraceFunc < Test::Unit::TestCase
|
|||
events.shift)
|
||||
assert_equal(["c-return", 5, :backtrace, Exception],
|
||||
events.shift)
|
||||
assert_equal(["raise", 5, :test_raise, TestSetTraceFunc],
|
||||
assert_equal(["raise", 5, :raise, Kernel],
|
||||
events.shift)
|
||||
assert_equal(["c-return", 5, :raise, Kernel],
|
||||
events.shift)
|
||||
|
@ -517,7 +517,7 @@ class TestSetTraceFunc < Test::Unit::TestCase
|
|||
[:c_return,20, "xyzzy", Exception, :exception, RuntimeError, :outer, raised_exc],
|
||||
[:c_call, 20, "xyzzy", Exception, :backtrace, raised_exc, :outer, :nothing],
|
||||
[:c_return,20, "xyzzy", Exception, :backtrace, raised_exc, :outer, nil],
|
||||
[:raise, 20, "xyzzy", TestSetTraceFunc, :trace_by_tracepoint, self, :outer, raised_exc],
|
||||
[:raise, 20, "xyzzy", Kernel, :raise, self, :outer, raised_exc],
|
||||
[:c_return,20, "xyzzy", Kernel, :raise, self, :outer, nil],
|
||||
[:c_call, 20, "xyzzy", Module, :===, RuntimeError,:outer, :nothing],
|
||||
[:c_return,20, "xyzzy", Module, :===, RuntimeError,:outer, true],
|
||||
|
|
Loading…
Reference in a new issue