diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-13 18:16:52 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2014-05-13 18:16:52 +0900 |
| commit | 15a2003aeb64c02b52d6473be8543c431b316a7f (patch) | |
| tree | fb8d73914300e7d595a87c24796c48b0dfd91890 /test/driver.c | |
| parent | a38f8fe606a526af56a0ed41113c7f9ac7cb5314 (diff) | |
| parent | 964ce6e3272f18325bda7756420409600120a99e (diff) | |
| download | mruby-15a2003aeb64c02b52d6473be8543c431b316a7f.tar.gz mruby-15a2003aeb64c02b52d6473be8543c431b316a7f.zip | |
Merge pull request #2190 from cremno/mrbtest-mrb_int-constants
test fixnum overflow for add, sub and mul
Diffstat (limited to 'test/driver.c')
| -rw-r--r-- | test/driver.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/driver.c b/test/driver.c index f7fb1b6df..646184de1 100644 --- a/test/driver.c +++ b/test/driver.c @@ -87,6 +87,7 @@ main(int argc, char **argv) { mrb_state *mrb; struct RClass *krn; + struct RClass *mrbtest; int ret; print_hint(); @@ -106,6 +107,18 @@ main(int argc, char **argv) krn = mrb->kernel_module; mrb_define_method(mrb, krn, "__t_printstr__", mrb_t_printstr, MRB_ARGS_REQ(1)); + mrbtest = mrb_define_module(mrb, "Mrbtest"); + +#ifdef MRB_WORD_BOXING + mrb_define_const(mrb, mrbtest, "FIXNUM_MAX", mrb_fixnum_value(MRB_INT_MAX >> MRB_FIXNUM_SHIFT)); + mrb_define_const(mrb, mrbtest, "FIXNUM_MIN", mrb_fixnum_value(MRB_INT_MIN >> MRB_FIXNUM_SHIFT)); + mrb_define_const(mrb, mrbtest, "FIXNUM_BIT", mrb_fixnum_value(MRB_INT_BIT >> MRB_FIXNUM_SHIFT)); +#else + 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)); +#endif + mrb_init_mrbtest(mrb); ret = eval_test(mrb); mrb_close(mrb); |
