diff options
| author | KOBAYASHI Shuji <[email protected]> | 2019-03-13 22:04:14 +0900 |
|---|---|---|
| committer | KOBAYASHI Shuji <[email protected]> | 2019-03-13 22:04:14 +0900 |
| commit | c3122c887a7fb842aac78b4735a64004a9b71a20 (patch) | |
| tree | bceb7adb985e9ee00aa04b6416da681214ad23c4 /mrbgems/mruby-test | |
| parent | ad0a8888f3c7fb99304347760a746dcf64539f5e (diff) | |
| download | mruby-c3122c887a7fb842aac78b4735a64004a9b71a20.tar.gz mruby-c3122c887a7fb842aac78b4735a64004a9b71a20.zip | |
Do not raise an exception when bintest fail
- An exception do not raise when mrbtest fail.
- There are no useful informations in exception message and backtrace.
Diffstat (limited to 'mrbgems/mruby-test')
| -rw-r--r-- | mrbgems/mruby-test/driver.c | 18 |
1 files changed, 3 insertions, 15 deletions
diff --git a/mrbgems/mruby-test/driver.c b/mrbgems/mruby-test/driver.c index 6e58c3e28..6b91b7457 100644 --- a/mrbgems/mruby-test/driver.c +++ b/mrbgems/mruby-test/driver.c @@ -30,31 +30,19 @@ print_hint(void) } static int -check_error(mrb_state *mrb) -{ - /* Error check */ - /* $ko_test and $kill_test should be 0 */ - mrb_value ko_test = mrb_gv_get(mrb, mrb_intern_lit(mrb, "$ko_test")); - mrb_value kill_test = mrb_gv_get(mrb, mrb_intern_lit(mrb, "$kill_test")); - - return mrb_fixnum_p(ko_test) && mrb_fixnum(ko_test) == 0 && mrb_fixnum_p(kill_test) && mrb_fixnum(kill_test) == 0; -} - -static int eval_test(mrb_state *mrb) { /* evaluate the test */ - mrb_funcall(mrb, mrb_top_self(mrb), "report", 0); + mrb_value result = mrb_funcall(mrb, mrb_top_self(mrb), "report", 0); /* did an exception occur? */ if (mrb->exc) { mrb_print_error(mrb); mrb->exc = 0; return EXIT_FAILURE; } - else if (!check_error(mrb)) { - return EXIT_FAILURE; + else { + return mrb_bool(result) ? EXIT_SUCCESS : EXIT_FAILURE; } - return EXIT_SUCCESS; } static void |
