Feature #4347 » test_continuation_tracing.patch
| test/ruby/test_continuation.rb | ||
|---|---|---|
|
}, '[ruby-dev:34802]'
|
||
|
end
|
||
|
def tracing_with_set_trace_func
|
||
|
cont = nil
|
||
|
func = lambda do |*args|
|
||
|
@memo += 1
|
||
|
cont.call(nil)
|
||
|
end
|
||
|
cont = callcc { |cc| cc }
|
||
|
if cont
|
||
|
set_trace_func(func)
|
||
|
else
|
||
|
set_trace_func(nil)
|
||
|
end
|
||
|
end
|
||
|
def test_tracing_with_set_trace_func
|
||
|
@memo = 0
|
||
|
tracing_with_set_trace_func
|
||
|
tracing_with_set_trace_func
|
||
|
tracing_with_set_trace_func
|
||
|
assert_equal 3, @memo
|
||
|
end
|
||
|
def tracing_with_thread_set_trace_func
|
||
|
cont = nil
|
||
|
func = lambda do |*args|
|
||
|
@memo += 1
|
||
|
cont.call(nil)
|
||
|
end
|
||
|
cont = callcc { |cc| cc }
|
||
|
if cont
|
||
|
Thread.current.set_trace_func(func)
|
||
|
else
|
||
|
Thread.current.set_trace_func(nil)
|
||
|
end
|
||
|
end
|
||
|
def test_tracing_with_thread_set_trace_func
|
||
|
@memo = 0
|
||
|
tracing_with_thread_set_trace_func
|
||
|
tracing_with_thread_set_trace_func
|
||
|
tracing_with_thread_set_trace_func
|
||
|
assert_equal 3, @memo
|
||
|
end
|
||
|
end
|
||