summaryrefslogtreecommitdiffhomepage
path: root/test/assert.rb
diff options
context:
space:
mode:
authorKOBAYASHI Shuji <[email protected]>2019-02-21 17:44:45 +0900
committerKOBAYASHI Shuji <[email protected]>2019-02-21 17:44:45 +0900
commitad789944dbd53610fa1e1c7f80b125270d4bcc70 (patch)
treeadeb6a619520cf217c80c0c99e4f64d73a7a13ae /test/assert.rb
parentbaf8fbe6edf8464e86523ee5753aa20717e9d8b3 (diff)
downloadmruby-ad789944dbd53610fa1e1c7f80b125270d4bcc70.tar.gz
mruby-ad789944dbd53610fa1e1c7f80b125270d4bcc70.zip
Refactor exception handling in `assert`
Diffstat (limited to 'test/assert.rb')
-rw-r--r--test/assert.rb16
1 files changed, 7 insertions, 9 deletions
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