From c2f5a574034cacd938d5af888646585c850f2747 Mon Sep 17 00:00:00 2001 From: ko1 Date: Thu, 6 Dec 2012 03:13:50 +0000 Subject: * vm_trace.c: TracePoint#enable should not cause an error when it is already enabled. TracePoint#disable is too. [ruby-core:50561] [ruby-trunk - Bug #7513] * test/ruby/test_settracefunc.rb: add tests. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- test/ruby/test_settracefunc.rb | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'test') diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb index 6ffb2dc6e4..6775b72b89 100644 --- a/test/ruby/test_settracefunc.rb +++ b/test/ruby/test_settracefunc.rb @@ -623,6 +623,16 @@ class TestSetTraceFunc < Test::Unit::TestCase } foo assert_equal([:foo], ary) + + trace = TracePoint.new{} + begin + assert_equal(false, trace.enable) + assert_equal(true, trace.enable) + trace.enable{} + assert_equal(true, trace.enable) + ensure + trace.disable + end end def test_tracepoint_disable @@ -637,6 +647,14 @@ class TestSetTraceFunc < Test::Unit::TestCase foo trace.disable assert_equal([:foo, :foo], ary) + + trace = TracePoint.new{} + trace.enable{ + assert_equal(true, trace.disable) + assert_equal(false, trace.disable) + trace.disable{} + assert_equal(false, trace.disable) + } end def test_tracepoint_enabled -- cgit v1.2.3