diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-09 00:21:51 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-10-09 00:21:51 +0000 |
commit | b753b9606e6329c62d385512ea173171c7c07146 (patch) | |
tree | f61b8818e59fe469f837f751d24c1e7e03e0b5d8 /test/-ext-/debug/test_profile_frames.rb | |
parent | 21e858e518c4cec31f4c56caa37682db38bac6a3 (diff) |
* 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
Diffstat (limited to 'test/-ext-/debug/test_profile_frames.rb')
-rw-r--r-- | test/-ext-/debug/test_profile_frames.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/test/-ext-/debug/test_profile_frames.rb b/test/-ext-/debug/test_profile_frames.rb index 410c2fbe11..7c00aa066b 100644 --- a/test/-ext-/debug/test_profile_frames.rb +++ b/test/-ext-/debug/test_profile_frames.rb @@ -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) |