From ad789944dbd53610fa1e1c7f80b125270d4bcc70 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Thu, 21 Feb 2019 17:44:45 +0900 Subject: Refactor exception handling in `assert` --- test/assert.rb | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'test/assert.rb') diff --git a/test/assert.rb b/test/assert.rb index ec6fa98ad..d8e8a0470 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -47,23 +47,21 @@ def assert(str = 'Assertion failed', iso = '') $mrbtest_assert_idx = 0 yield if($mrbtest_assert.size > 0) - $asserts.push(assertion_string('Fail: ', str, iso, nil)) + $asserts.push(assertion_string('Fail: ', str, iso)) $ko_test += 1 t_print('F') else $ok_test += 1 t_print('.') end + rescue MRubyTestSkip => e + $asserts.push(assertion_string('Skip: ', str, iso, e)) + t_print('?') rescue Exception => e bt = e.backtrace if $mrbtest_verbose - if e.class.to_s == 'MRubyTestSkip' - $asserts.push(assertion_string('Skip: ', str, iso, e, nil)) - t_print('?') - else - $asserts.push(assertion_string("#{e.class}: ", str, iso, e, bt)) - $kill_test += 1 - t_print('X') - end + $asserts.push(assertion_string("#{e.class}: ", str, iso, e, bt)) + $kill_test += 1 + t_print('X') ensure $mrbtest_assert = nil end -- cgit v1.2.3