diff options
author | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-08-03 09:39:25 +0000 |
---|---|---|
committer | naruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-08-03 09:39:25 +0000 |
commit | dc7f2cd58615afb193f46b2bec1285186f5bf5bd (patch) | |
tree | 7fea9ed1b38508875571d3d14927671977ffbb0d /misc | |
parent | 4f8107a4ba9ea72e75aa7ccd7f5b4fe36f64b096 (diff) |
Add initial test for lldb extension
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59485 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'misc')
-rwxr-xr-x | misc/lldb_cruby.py | 2 | ||||
-rw-r--r-- | misc/test_lldb_cruby.rb | 36 |
2 files changed, 38 insertions, 0 deletions
diff --git a/misc/lldb_cruby.py b/misc/lldb_cruby.py index eafbafdd8a..e954d1be00 100755 --- a/misc/lldb_cruby.py +++ b/misc/lldb_cruby.py @@ -3,6 +3,8 @@ # # Usage: run `command script import -r misc/lldb_cruby.py` on LLDB # +# Test: misc/test_lldb_cruby.rb +# import lldb import commands diff --git a/misc/test_lldb_cruby.rb b/misc/test_lldb_cruby.rb new file mode 100644 index 0000000000..4d1cc499f5 --- /dev/null +++ b/misc/test_lldb_cruby.rb @@ -0,0 +1,36 @@ +#!/usr/bin/env ruby +require 'open3' +require 'tempfile' +require 'test/unit' + +class TestLLDBInit < Test::Unit::TestCase + def assert_rp(expr, pattern, message=nil) + Tempfile.create('lldb') do |tf| + tf.puts <<eom +target create ./miniruby +command script import -r misc/lldb_cruby.py +b rb_p +run -e'p #{expr}' +rp obj +eom + tf.flush + o, s = Open3.capture2('lldb', '-b', '-s', tf.path) + assert_true s.success?, message + assert_match /^\(lldb\) rp obj\n#{pattern}/, o, message + end + end + + def test_rp_object + assert_rp 'Object.new', 'T_OBJECT' + end + + def test_rp_symbol + assert_rp ':abcde', /immediate\(\h+\)/ + end + + def test_rp_string + assert_rp '"abc"', /\(char \[\d+\]\) ary = "abc"/ + assert_rp "\"\u3042\"", /\(char \[\d+\]\) ary = "\u3042"/ + assert_rp '"' + "\u3042"*10 + '"', /\(RString::\(anonymous struct\)\) heap = \{/ + end +end |