diff options
Diffstat (limited to 'mrbgems/mruby-bin-mruby')
| -rw-r--r-- | mrbgems/mruby-bin-mruby/bintest/mruby.rb | 9 | ||||
| -rw-r--r-- | mrbgems/mruby-bin-mruby/tools/mruby/mruby.c | 6 |
2 files changed, 9 insertions, 6 deletions
diff --git a/mrbgems/mruby-bin-mruby/bintest/mruby.rb b/mrbgems/mruby-bin-mruby/bintest/mruby.rb index 2eb41d758..22872c389 100644 --- a/mrbgems/mruby-bin-mruby/bintest/mruby.rb +++ b/mrbgems/mruby-bin-mruby/bintest/mruby.rb @@ -1,3 +1,5 @@ +require 'tempfile' + assert('regression for #1564') do o = `bin/mruby -e '<<' 2>&1` assert_equal o, "-e:1:2: syntax error, unexpected tLSHFT\n" @@ -6,8 +8,9 @@ assert('regression for #1564') do end assert('regression for #1572') do - system "echo 'p \"ok\"' > /tmp/1572.rb" - system "bin/mrbc -g -o /tmp/1572.mrb /tmp/1572.rb" - o = `bin/mruby -b /tmp/1572.mrb`.strip + script, bin = Tempfile.new('test.rb'), Tempfile.new('test.mrb') + system "echo 'p \"ok\"' > #{script.path}" + system "bin/mrbc -g -o #{bin.path} #{script.path}" + o = `bin/mruby -b #{bin.path}`.strip assert_equal o, '"ok"' end diff --git a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c index 341911f8d..01e38ef84 100644 --- a/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +++ b/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c @@ -142,7 +142,7 @@ append_cmdline: args->rfp = fopen(argv[0], args->mrbfile ? "rb" : "r"); if (args->rfp == NULL) { printf("%s: Cannot open program file. (%s)\n", *origargv, *argv); - return 0; + return EXIT_FAILURE; } args->fname = TRUE; args->cmdline = argv[0]; @@ -193,7 +193,7 @@ main(int argc, char **argv) ARGV = mrb_ary_new_capa(mrb, args.argc); for (i = 0; i < args.argc; i++) { - mrb_ary_push(mrb, ARGV, mrb_str_new(mrb, args.argv[i], strlen(args.argv[i]))); + mrb_ary_push(mrb, ARGV, mrb_str_new_cstr(mrb, args.argv[i])); } mrb_define_global_const(mrb, "ARGV", ARGV); @@ -201,7 +201,7 @@ main(int argc, char **argv) if (args.verbose) c->dump_result = TRUE; if (args.check_syntax) - c->no_exec = FALSE; + c->no_exec = TRUE; if (args.mrbfile) { v = mrb_load_irep_file_cxt(mrb, args.rfp, c); } |
