diff options
-rw-r--r-- | test/ruby/test_settracefunc.rb | 4 | ||||
-rw-r--r-- | vm_trace.c | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 15a8d8b98e..74c092c460 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -1770,4 +1770,8 @@ class TestSetTraceFunc < Test::Unit::TestCase end }, bug13705 end + + def test_trace_point_require_block + assert_raise(ArgumentError) { TracePoint.new(:return) } + end end diff --git a/vm_trace.c b/vm_trace.c index 7f31de3305..beea1ecb8f 100644 --- a/vm_trace.c +++ b/vm_trace.c @@ -1238,7 +1238,7 @@ rb_tracepoint_new(VALUE target_thval, rb_event_flag_t events, void (*func)(VALUE * * See TracePoint@Events for possible events and more information. * - * A block must be given, otherwise a ThreadError is raised. + * A block must be given, otherwise an ArgumentError is raised. * * If the trace method isn't included in the given events filter, a * RuntimeError is raised. @@ -1274,7 +1274,7 @@ tracepoint_new_s(int argc, VALUE *argv, VALUE self) } if (!rb_block_given_p()) { - rb_raise(rb_eThreadError, "must be called with a block"); + rb_raise(rb_eArgError, "must be called with a block"); } return tracepoint_new(self, 0, events, 0, 0, rb_block_proc()); |