mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Also fix tests git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67419 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			40 lines
		
	
	
	
		
			948 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			40 lines
		
	
	
	
		
			948 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#!/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_inspect
 | 
						|
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_regex
 | 
						|
    assert_rp '/foo/', '[(]Regex'
 | 
						|
  end
 | 
						|
 | 
						|
  def test_rp_symbol
 | 
						|
    assert_rp ':abcde', /T_SYMBOL: \(\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
 |