diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/test/ruby/test_settracefunc.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/test/ruby/test_settracefunc.rb')
-rw-r--r-- | trunk/test/ruby/test_settracefunc.rb | 184 |
1 files changed, 0 insertions, 184 deletions
diff --git a/trunk/test/ruby/test_settracefunc.rb b/trunk/test/ruby/test_settracefunc.rb deleted file mode 100644 index c098e548b8..0000000000 --- a/trunk/test/ruby/test_settracefunc.rb +++ /dev/null @@ -1,184 +0,0 @@ -require 'test/unit' - -class TestSetTraceFunc < Test::Unit::TestCase - def setup - @original_compile_option = RubyVM::InstructionSequence.compile_option - RubyVM::InstructionSequence.compile_option = { - :trace_instruction => true, - :specialized_instruction => false - } - end - - def teardown - set_trace_func(nil) - RubyVM::InstructionSequence.compile_option = @original_compile_option - end - - def test_c_call - events = [] - eval <<-EOF.gsub(/^.*?: /, "") - 1: set_trace_func(Proc.new { |event, file, lineno, mid, binding, klass| - 2: events << [event, lineno, mid, klass] - 3: }) - 4: x = 1 + 1 - 5: set_trace_func(nil) - EOF - assert_equal(["c-return", 3, :set_trace_func, Kernel], - events.shift) - assert_equal(["line", 4, __method__, self.class], - events.shift) - assert_equal(["c-call", 4, :+, Fixnum], - events.shift) - assert_equal(["c-return", 4, :+, Fixnum], - events.shift) - assert_equal(["line", 5, __method__, self.class], - events.shift) - assert_equal(["c-call", 5, :set_trace_func, Kernel], - events.shift) - assert_equal([], events) - end - - def test_call - events = [] - eval <<-EOF.gsub(/^.*?: /, "") - 1: set_trace_func(Proc.new { |event, file, lineno, mid, binding, klass| - 2: events << [event, lineno, mid, klass] - 3: }) - 4: def add(x, y) - 5: x + y - 6: end - 7: x = add(1, 1) - 8: set_trace_func(nil) - EOF - assert_equal(["c-return", 3, :set_trace_func, Kernel], - events.shift) - assert_equal(["line", 4, __method__, self.class], - events.shift) - assert_equal(["c-call", 4, :method_added, Module], - events.shift) - assert_equal(["c-return", 4, :method_added, Module], - events.shift) - assert_equal(["line", 7, __method__, self.class], - events.shift) - assert_equal(["call", 6, :add, self.class], - events.shift) - assert_equal(["line", 5, :add, self.class], - events.shift) - assert_equal(["c-call", 5, :+, Fixnum], - events.shift) - assert_equal(["c-return", 5, :+, Fixnum], - events.shift) - assert_equal(["return", 6, :add, self.class], - events.shift) - assert_equal(["line", 8, __method__, self.class], - events.shift) - assert_equal(["c-call", 8, :set_trace_func, Kernel], - events.shift) - assert_equal([], events) - end - - def test_class - events = [] - eval <<-EOF.gsub(/^.*?: /, "") - 1: set_trace_func(Proc.new { |event, file, lineno, mid, binding, klass| - 2: events << [event, lineno, mid, klass] - 3: }) - 4: class Foo - 5: def bar - 6: end - 7: end - 8: x = Foo.new.bar - 9: set_trace_func(nil) - EOF - assert_equal(["c-return", 3, :set_trace_func, Kernel], - events.shift) - assert_equal(["line", 4, __method__, self.class], - events.shift) - assert_equal(["c-call", 4, :inherited, Class], - events.shift) - assert_equal(["c-return", 4, :inherited, Class], - events.shift) - assert_equal(["class", 7, nil, nil], - events.shift) - assert_equal(["line", 5, nil, nil], - events.shift) - assert_equal(["c-call", 5, :method_added, Module], - events.shift) - assert_equal(["c-return", 5, :method_added, Module], - events.shift) - assert_equal(["end", 7, nil, nil], - events.shift) - assert_equal(["line", 8, __method__, self.class], - events.shift) - assert_equal(["c-call", 8, :new, Class], - events.shift) - assert_equal(["c-call", 8, :initialize, BasicObject], - events.shift) - assert_equal(["c-return", 8, :initialize, BasicObject], - events.shift) - assert_equal(["c-return", 8, :new, Class], - events.shift) - assert_equal(["call", 6, :bar, Foo], - events.shift) - assert_equal(["return", 6, :bar, Foo], - events.shift) - assert_equal(["line", 9, __method__, self.class], - events.shift) - assert_equal(["c-call", 9, :set_trace_func, Kernel], - events.shift) - assert_equal([], events) - end - - def test_raise - events = [] - eval <<-EOF.gsub(/^.*?: /, "") - 1: set_trace_func(Proc.new { |event, file, lineno, mid, binding, klass| - 2: events << [event, lineno, mid, klass] - 3: }) - 4: begin - 5: raise TypeError, "error" - 6: rescue TypeError - 7: end - 8: set_trace_func(nil) - EOF - assert_equal(["c-return", 3, :set_trace_func, Kernel], - events.shift) - assert_equal(["line", 4, __method__, self.class], - events.shift) - assert_equal(["line", 5, __method__, self.class], - events.shift) - assert_equal(["c-call", 5, :raise, Kernel], - events.shift) - assert_equal(["c-call", 5, :exception, Exception], - events.shift) - assert_equal(["c-call", 5, :initialize, Exception], - events.shift) - assert_equal(["c-return", 5, :initialize, Exception], - events.shift) - assert_equal(["c-return", 5, :exception, Exception], - events.shift) - assert_equal(["c-call", 5, :backtrace, Exception], - events.shift) - assert_equal(["c-return", 5, :backtrace, Exception], - events.shift) - assert_equal(["c-call", 5, :set_backtrace, Exception], - events.shift) - assert_equal(["c-return", 5, :set_backtrace, Exception], - events.shift) - assert_equal(["raise", 5, :test_raise, TestSetTraceFunc], - events.shift) - assert_equal(["c-call", 6, :===, Module], - events.shift) - assert_equal(["c-return", 6, :===, Module], - events.shift) - assert_equal(["line", 8, __method__, self.class], - events.shift) - assert_equal(["c-call", 8, :set_trace_func, Kernel], - events.shift) - assert_equal([], events) - end - - def test_invalid_proc - assert_raise(TypeError) { set_trace_func(1) } - end -end |