summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-bin-mruby
diff options
context:
space:
mode:
Diffstat (limited to 'mrbgems/mruby-bin-mruby')
-rw-r--r--mrbgems/mruby-bin-mruby/bintest/mruby.rb9
-rw-r--r--mrbgems/mruby-bin-mruby/tools/mruby/mruby.c6
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);
}