From b82ded24cc856435a87b289890c8954d96ecea66 Mon Sep 17 00:00:00 2001 From: nobu Date: Mon, 10 Jun 2013 06:35:37 +0000 Subject: eval_error.c: restore errinfo * eval_error.c (error_print): restore errinfo for the case new excecption raised while printing the message. [ruby-core:55365] [Bug #8501] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_beginendblock.rb | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test/ruby/test_beginendblock.rb') diff --git a/test/ruby/test_beginendblock.rb b/test/ruby/test_beginendblock.rb index 7a9eb23bfa..e7901bce5e 100644 --- a/test/ruby/test_beginendblock.rb +++ b/test/ruby/test_beginendblock.rb @@ -85,8 +85,22 @@ EOW '-e', 'raise %[SomethingElse]']) {|f| f.read } + status = $? assert_match(/SomethingBad/, out, "[ruby-core:9675]") assert_match(/SomethingElse/, out, "[ruby-core:9675]") + assert_not_predicate(status, :success?) + end + + def test_exitcode_in_at_exit + bug8501 = '[ruby-core:55365] [Bug #8501]' + out = IO.popen([ruby, '-e', 'STDERR.reopen(STDOUT)', + '-e', 'o = Object.new; def o.inspect; raise "[Bug #8501]"; end', + '-e', 'at_exit{o.nope}']) {|f| + f.read + } + status = $? + assert_match(/undefined method `nope'/, out, bug8501) + assert_not_predicate(status, :success?, bug8501) end def test_propagate_exit_code -- cgit v1.2.3