mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Fix error handlings for mrb_open_core().
This commit is contained in:
@@ -183,6 +183,7 @@ module MRuby
|
||||
|
||||
def print_gem_test_header(f)
|
||||
print_gem_comment(f)
|
||||
f.puts %Q[#include <stdio.h>]
|
||||
f.puts %Q[#include <stdlib.h>]
|
||||
f.puts %Q[#include "mruby.h"]
|
||||
f.puts %Q[#include "mruby/irep.h"]
|
||||
|
||||
@@ -47,6 +47,10 @@ MRuby.each_target do
|
||||
g.test_rbfiles.count.times do |i|
|
||||
f.puts %Q[ ai = mrb_gc_arena_save(mrb);]
|
||||
f.puts %Q[ mrb2 = mrb_open_core(mrb_default_allocf, NULL);]
|
||||
f.puts %Q[ if (mrb2 == NULL) {]
|
||||
f.puts %Q[ fprintf(stderr, "Invalid mrb_state, exiting \%s", __FUNCTION__);]
|
||||
f.puts %Q[ exit(EXIT_FAILURE);]
|
||||
f.puts %Q[ }]
|
||||
dep_list.each do |d|
|
||||
f.puts %Q[ GENERATED_TMP_mrb_#{d.funcname}_gem_init(mrb2);]
|
||||
f.puts %Q[ mrb_state_atexit(mrb2, GENERATED_TMP_mrb_#{d.funcname}_gem_final);]
|
||||
|
||||
@@ -18,6 +18,10 @@ mrb_init_mrbtest(mrb_state *mrb)
|
||||
mrb_load_irep(mrb, mrbtest_assert_irep);
|
||||
|
||||
core_test = mrb_open_core(mrb_default_allocf, NULL);
|
||||
if (core_test == NULL) {
|
||||
fprintf(stderr, "Invalid mrb_state, exiting %s", __FUNCTION__);
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
mrb_init_test_driver(core_test, mrb_test(mrb_gv_get(mrb, mrb_intern_lit(mrb, "$mrbtest_verbose"))));
|
||||
mrb_load_irep(core_test, mrbtest_assert_irep);
|
||||
mrb_load_irep(core_test, mrbtest_irep);
|
||||
|
||||
Reference in New Issue
Block a user