mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* include/ruby/debug.h,
vm_backtrace.c (rb_profile_frame_full_label): add new C API rb_profile_frame_full_label() which returns label with qualified method name. Note that in future version of Ruby label() may return same return value of full_label(). * ext/-test-/debug/profile_frames.c, test/-ext-/debug/test_profile_frames.rb: fix a test for this change. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
21e858e518
commit
b753b9606e
5 changed files with 45 additions and 1 deletions
|
@ -37,6 +37,13 @@ class TestProfileFrames < Test::Unit::TestCase
|
|||
"foo",
|
||||
"test_profile_frames",
|
||||
]
|
||||
full_labels = [
|
||||
"block (2 levels) in TestProfileFrames#test_profile_frames",
|
||||
"SampleClassForTestProfileFrames::Sample2#baz",
|
||||
"SampleClassForTestProfileFrames.bar",
|
||||
"SampleClassForTestProfileFrames#foo",
|
||||
"block in TestProfileFrames#test_profile_frames",
|
||||
]
|
||||
classes = [
|
||||
TestProfileFrames,
|
||||
SampleClassForTestProfileFrames::Sample2,
|
||||
|
@ -62,15 +69,18 @@ class TestProfileFrames < Test::Unit::TestCase
|
|||
"TestProfileFrames#test_profile_frames",
|
||||
]
|
||||
|
||||
# pp frames
|
||||
|
||||
assert_equal(labels.size, frames.size)
|
||||
|
||||
frames.each.with_index{|(path, absolute_path, label, base_label, first_lineno,
|
||||
frames.each.with_index{|(path, absolute_path, label, base_label, full_label, first_lineno,
|
||||
classpath, singleton_p, method_name, qualified_method_name), i|
|
||||
err_msg = "#{i}th frame"
|
||||
assert_equal(__FILE__, path, err_msg)
|
||||
assert_equal(__FILE__, absolute_path, err_msg)
|
||||
assert_equal(labels[i], label, err_msg)
|
||||
assert_equal(base_labels[i], base_label, err_msg)
|
||||
assert_equal(full_labels[i], full_label, err_msg)
|
||||
assert_equal(classes[i].to_s, classpath, err_msg)
|
||||
assert_equal(singleton_method_p[i], singleton_p, err_msg)
|
||||
assert_equal(methdo_names[i], method_name, err_msg)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue