From a9c52675e6658d185eb8c7d57f2d19602359f5a1 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Sat, 12 Jul 2014 22:02:20 +0900 Subject: Set `$mrbtest_verbose` flag in `mrb_init_test_driver`. --- test/driver.c | 11 ++++++++--- test/init_mrbtest.c | 5 +++-- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'test') diff --git a/test/driver.c b/test/driver.c index c696262bf..66d64d3de 100644 --- a/test/driver.c +++ b/test/driver.c @@ -83,7 +83,7 @@ mrb_t_printstr(mrb_state *mrb, mrb_value self) } void -mrb_init_test_driver(mrb_state *mrb) +mrb_init_test_driver(mrb_state *mrb, mrb_bool verbose) { struct RClass *krn, *mrbtest; @@ -95,6 +95,10 @@ mrb_init_test_driver(mrb_state *mrb) mrb_define_const(mrb, mrbtest, "FIXNUM_MAX", mrb_fixnum_value(MRB_INT_MAX)); mrb_define_const(mrb, mrbtest, "FIXNUM_MIN", mrb_fixnum_value(MRB_INT_MIN)); mrb_define_const(mrb, mrbtest, "FIXNUM_BIT", mrb_fixnum_value(MRB_INT_BIT)); + + if (verbose) { + mrb_gv_set(mrb, mrb_intern_lit(mrb, "$mrbtest_verbose"), mrb_true_value()); + } } void @@ -139,6 +143,7 @@ main(int argc, char **argv) { mrb_state *mrb; int ret; + mrb_bool verbose = FALSE; print_hint(); @@ -151,10 +156,10 @@ main(int argc, char **argv) if (argc == 2 && argv[1][0] == '-' && argv[1][1] == 'v') { printf("verbose mode: enable\n\n"); - mrb_gv_set(mrb, mrb_intern_lit(mrb, "$mrbtest_verbose"), mrb_true_value()); + verbose = TRUE; } - mrb_init_test_driver(mrb); + mrb_init_test_driver(mrb, verbose); mrb_init_mrbtest(mrb); ret = eval_test(mrb); mrb_close(mrb); diff --git a/test/init_mrbtest.c b/test/init_mrbtest.c index 3a61a6f39..cc75a5a5e 100644 --- a/test/init_mrbtest.c +++ b/test/init_mrbtest.c @@ -1,12 +1,13 @@ #include #include "mruby.h" #include "mruby/irep.h" +#include "mruby/variable.h" extern const uint8_t mrbtest_assert_irep[]; extern const uint8_t mrbtest_irep[]; void mrbgemtest_init(mrb_state* mrb); -void mrb_init_test_driver(mrb_state* mrb); +void mrb_init_test_driver(mrb_state* mrb, mrb_bool verbose); void mrb_t_pass_result(mrb_state *mrb_dst, mrb_state *mrb_src); void @@ -17,7 +18,7 @@ mrb_init_mrbtest(mrb_state *mrb) mrb_load_irep(mrb, mrbtest_assert_irep); core_test = mrb_open_core(mrb_default_allocf, NULL); - mrb_init_test_driver(core_test); + 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); mrb_t_pass_result(mrb, core_test); -- cgit v1.2.3