From c6ce43303d40ddeab4b9e033461a024465afae44 Mon Sep 17 00:00:00 2001 From: take_cheeze Date: Wed, 9 Jul 2014 22:03:21 +0900 Subject: Add `SyntaxError` test and don't print compilation error to stderr in eval. --- mrbgems/mruby-eval/src/eval.c | 1 + mrbgems/mruby-eval/test/eval.rb | 6 ++++++ 2 files changed, 7 insertions(+) (limited to 'mrbgems/mruby-eval') diff --git a/mrbgems/mruby-eval/src/eval.c b/mrbgems/mruby-eval/src/eval.c index 3036837d5..6ca7d4fc2 100644 --- a/mrbgems/mruby-eval/src/eval.c +++ b/mrbgems/mruby-eval/src/eval.c @@ -112,6 +112,7 @@ create_proc_from_string(mrb_state *mrb, char *s, int len, mrb_value binding, cha if (file) { mrbc_filename(mrb, cxt, file); } + cxt->capture_errors = TRUE; p = mrb_parse_nstring(mrb, s, len, cxt); diff --git a/mrbgems/mruby-eval/test/eval.rb b/mrbgems/mruby-eval/test/eval.rb index c0338d644..eb51f396a 100644 --- a/mrbgems/mruby-eval/test/eval.rb +++ b/mrbgems/mruby-eval/test/eval.rb @@ -44,3 +44,9 @@ assert('rest arguments of eval') do Kernel.eval('[\'test\', __FILE__, __LINE__]', nil, 'test.rb', 10) end end + +assert 'eval syntax error' do + assert_raise(SyntaxError) do + eval 'p "test' + end +end -- cgit v1.2.3