diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/assert.rb | 6 | ||||
| -rw-r--r-- | test/init_mrbtest.c | 1 |
2 files changed, 5 insertions, 2 deletions
diff --git a/test/assert.rb b/test/assert.rb index a4ee00299..72e4d3b37 100644 --- a/test/assert.rb +++ b/test/assert.rb @@ -21,7 +21,7 @@ end ## # Create the assertion in a readable way -def assertion_string(err, str, iso=nil, e=nil) +def assertion_string(err, str, iso=nil, e=nil, bt=nil) msg = "#{err}#{str}" msg += " [#{iso}]" if iso && iso != '' msg += " => #{e.message}" if e @@ -31,6 +31,7 @@ def assertion_string(err, str, iso=nil, e=nil) msg += "\n - Assertion[#{idx}] Failed: #{str}\n#{diff}" end end + msg += "\nbacktrace:\n\t#{bt.join("\n\t")}" if bt msg end @@ -56,11 +57,12 @@ def assert(str = 'Assertion failed', iso = '') t_print('.') end rescue Exception => e + bt = e.backtrace if $mrbtest_verbose if e.class.to_s == 'MRubyTestSkip' $asserts.push "Skip: #{str} #{iso} #{e.cause}" t_print('?') else - $asserts.push(assertion_string("#{e.class}: ", str, iso, e)) + $asserts.push(assertion_string("#{e.class}: ", str, iso, e, bt)) $kill_test += 1 t_print('X') end diff --git a/test/init_mrbtest.c b/test/init_mrbtest.c index cc75a5a5e..2a32f4930 100644 --- a/test/init_mrbtest.c +++ b/test/init_mrbtest.c @@ -31,5 +31,6 @@ mrb_init_mrbtest(mrb_state *mrb) mrb_print_error(mrb); exit(EXIT_FAILURE); } + mrb_close(core_test); } |
