trepanning 1.93.35 → 2.15.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (134) hide show
  1. checksums.yaml +7 -0
  2. data/ChangeLog +491 -55
  3. data/LICENSE +1 -1
  4. data/NEWS +18 -14
  5. data/README.md +5 -22
  6. data/Rakefile +22 -1
  7. data/app/breakpoint.rb +5 -3
  8. data/app/core.rb +147 -179
  9. data/app/default.rb +47 -46
  10. data/app/file.rb +6 -7
  11. data/app/frame.rb +183 -176
  12. data/app/markdown.rb +2 -9
  13. data/app/options.rb +1 -1
  14. data/app/run.rb +71 -37
  15. data/interface/script.rb +8 -8
  16. data/io.rb +19 -20
  17. data/lib/trepanning.rb +292 -297
  18. data/processor.rb +332 -344
  19. data/processor/breakpoint.rb +98 -96
  20. data/processor/command/base/submgr.rb +9 -9
  21. data/processor/command/break.rb +40 -38
  22. data/processor/command/continue.rb +15 -10
  23. data/processor/command/debug.rb +6 -25
  24. data/processor/command/delete.rb +21 -12
  25. data/processor/command/directory.rb +15 -13
  26. data/processor/command/disable.rb +12 -9
  27. data/processor/command/disassemble.rb +80 -74
  28. data/processor/command/display.rb +15 -12
  29. data/processor/command/down.rb +8 -3
  30. data/processor/command/edit.rb +37 -23
  31. data/processor/command/enable.rb +11 -8
  32. data/processor/command/eval.rb +24 -22
  33. data/processor/command/finish.rb +50 -48
  34. data/processor/command/help.rb +1 -1
  35. data/processor/command/info_subcmd/breakpoints.rb +7 -7
  36. data/processor/command/info_subcmd/files.rb +195 -196
  37. data/processor/command/info_subcmd/frame.rb +7 -4
  38. data/processor/command/info_subcmd/locals.rb +29 -12
  39. data/processor/command/info_subcmd/program.rb +48 -39
  40. data/processor/command/info_subcmd/registers_subcmd/ep.rb +46 -0
  41. data/processor/command/info_subcmd/registers_subcmd/helper.rb +32 -35
  42. data/processor/command/info_subcmd/registers_subcmd/sp.rb +29 -23
  43. data/processor/command/info_subcmd/return.rb +28 -10
  44. data/processor/command/info_subcmd/variables_subcmd/class.rb +3 -3
  45. data/processor/command/info_subcmd/variables_subcmd/constants.rb +77 -0
  46. data/processor/command/info_subcmd/variables_subcmd/globals.rb +7 -7
  47. data/processor/command/info_subcmd/variables_subcmd/instance.rb +68 -22
  48. data/processor/command/info_subcmd/variables_subcmd/locals.rb +148 -67
  49. data/processor/command/list.rb +14 -8
  50. data/processor/command/macro.rb +1 -1
  51. data/processor/command/next.rb +1 -0
  52. data/processor/command/set_subcmd/auto.rb +3 -3
  53. data/processor/command/set_subcmd/different.rb +30 -29
  54. data/processor/command/set_subcmd/events.rb +74 -48
  55. data/processor/command/set_subcmd/max_subcmd/list.rb +12 -5
  56. data/processor/command/set_subcmd/max_subcmd/width.rb +28 -19
  57. data/processor/command/set_subcmd/register.rb +37 -0
  58. data/processor/command/set_subcmd/register_subcmd/pc.rb +67 -0
  59. data/processor/command/set_subcmd/register_subcmd/sp.rb +75 -0
  60. data/processor/command/set_subcmd/reload.rb +12 -10
  61. data/processor/command/set_subcmd/return.rb +68 -44
  62. data/processor/command/shell.rb +3 -2
  63. data/processor/command/show_subcmd/different.rb +17 -14
  64. data/processor/command/show_subcmd/events.rb +25 -25
  65. data/processor/default.rb +1 -1
  66. data/processor/eval.rb +14 -15
  67. data/processor/frame.rb +43 -36
  68. data/processor/help.rb +5 -5
  69. data/processor/hook.rb +26 -29
  70. data/processor/location.rb +54 -51
  71. data/processor/mock.rb +4 -3
  72. data/processor/running.rb +113 -103
  73. data/processor/validate.rb +401 -373
  74. data/test/data/debug.cmd +8 -0
  75. data/test/data/debug.right +13 -0
  76. data/test/data/debugger-stop.right +6 -4
  77. data/test/data/fname-with-blank.cmd +1 -1
  78. data/test/data/fname-with-blank.right +5 -0
  79. data/test/data/pc.cmd +8 -0
  80. data/test/data/pc.right +10 -0
  81. data/test/data/quit.right +3 -1
  82. data/test/data/trace.cmd +2 -2
  83. data/test/data/trace.right +41 -20
  84. data/test/example/assign.rb +6 -0
  85. data/test/functional/fn_helper.rb +11 -17
  86. data/test/functional/test-break-long.rb +15 -16
  87. data/test/functional/test-break.rb +6 -8
  88. data/test/functional/test-condition.rb +8 -10
  89. data/test/functional/test-debugger-call-bug.rb +21 -22
  90. data/test/functional/test-delete.rb +57 -59
  91. data/test/functional/test-eval.rb +101 -103
  92. data/test/functional/test-finish.rb +24 -33
  93. data/test/functional/test-immediate-step-bug.rb +6 -10
  94. data/test/functional/test-next.rb +64 -65
  95. data/test/functional/test-raise.rb +63 -64
  96. data/test/functional/test-recursive-bt.rb +81 -76
  97. data/test/functional/test-remap.rb +6 -7
  98. data/test/functional/test-return.rb +44 -38
  99. data/test/functional/test-step.rb +55 -53
  100. data/test/functional/test-stepbug.rb +6 -9
  101. data/test/functional/test-watchg.rb +40 -39
  102. data/test/integration/test-debug.rb +12 -0
  103. data/test/integration/test-debugger-stop.rb +7 -7
  104. data/test/integration/test-pc.rb +24 -0
  105. data/test/integration/test-trace.rb +1 -1
  106. data/test/unit/cmd-helper.rb +0 -1
  107. data/test/unit/test-app-brkpt.rb +21 -21
  108. data/test/unit/test-app-brkptmgr.rb +7 -8
  109. data/test/unit/test-app-display.rb +3 -4
  110. data/test/unit/test-app-frame.rb +4 -5
  111. data/test/unit/test-base-subsubcmd.rb +2 -2
  112. data/test/unit/test-cmd-break.rb +6 -6
  113. data/test/unit/test-cmd-endisable.rb +7 -6
  114. data/test/unit/test-cmd-parse_list_cmd.rb +24 -24
  115. data/test/unit/test-io-tcpserver.rb +39 -35
  116. data/test/unit/test-proc-default.rb +23 -22
  117. data/test/unit/test-proc-eval.rb +1 -2
  118. data/test/unit/test-proc-frame.rb +8 -9
  119. data/test/unit/test-proc-list.rb +1 -1
  120. data/test/unit/test-proc-location.rb +2 -2
  121. data/test/unit/test-proc-main.rb +10 -10
  122. data/test/unit/test-proc-validate.rb +11 -13
  123. data/test/unit/test-subcmd-help.rb +1 -2
  124. data/trepanning.gemspec +8 -13
  125. metadata +44 -95
  126. data/COPYING +0 -57
  127. data/data/custom_require.rb +0 -44
  128. data/data/perldb.bindings +0 -17
  129. data/data/prelude.rb +0 -38
  130. data/processor/command/info_subcmd/variables_subcmd/constant.rb +0 -41
  131. data/processor/command/raise.rb +0 -48
  132. data/processor/command/set_subcmd/pc.rb +0 -62
  133. data/processor/command/set_subcmd/sp.rb +0 -67
  134. data/processor/eventbuf.rb +0 -133
@@ -3,31 +3,31 @@ require_relative 'cmd-helper'
3
3
  require_relative '../../processor/command/list'
4
4
 
5
5
  class TestCommandParseListCmd < Test::Unit::TestCase
6
- include UnitHelper
7
- def setup
8
- common_setup
9
- @cmd = @cmds['list']
10
- end
11
- def test_parse_list_cmd
12
- tf = RubyVM::Frame.current
13
- @cmdproc.frame_setup(tf)
14
- short_file = File.basename(__FILE__)
15
- listsize = 10
16
- line = __LINE__ - 8
17
- load 'tmpdir.rb'
18
- [['', [short_file, line, line+listsize-1]],
19
- ["#{__FILE__}:10", [short_file, 5, 14]],
20
- ["#{__FILE__} 10", [short_file, 5, 14]],
21
- ['tmpdir.rb', ['tmpdir.rb', 1, listsize]],
22
- ['tmpdir.rb 10', ['tmpdir.rb', 5, 5+listsize-1]],
23
- # ['Columnize.columnize 15', ['columnize.rb', 10, 10+listsize -1]],
24
- # ['Columnize.columnize 30 3', ['columnize.rb', 30, 32]],
25
- # ['Columnize.columnize 40 50', ['columnize.rb', 40, 50]],
26
- ].each do |arg_str, expect|
27
- got = @cmdproc.parse_list_cmd(arg_str, listsize, listsize/2)[1..-1]
28
- got[0] = File.basename(got[0])
29
- assert_equal expect, got
6
+ include UnitHelper
7
+ def setup
8
+ common_setup
9
+ @cmd = @cmds['list']
30
10
  end
11
+ def test_parse_list_cmd
12
+ tf = RubyVM::Frame.get
13
+ @cmdproc.frame_setup(tf)
14
+ short_file = File.basename(__FILE__)
15
+ listsize = 10
16
+ line = __LINE__+5
17
+ load 'tmpdir.rb'
18
+ [['', [short_file, line, line+listsize-1]],
19
+ ["#{__FILE__}:10", [short_file, 5, 14]],
20
+ ["#{__FILE__} 10", [short_file, 5, 14]],
21
+ ['tmpdir.rb', ['tmpdir.rb', 1, listsize]],
22
+ ['tmpdir.rb 10', ['tmpdir.rb', 5, 5+listsize-1]],
23
+ ['Columnize.columnize 15', ['columnize.rb', 10, 10+listsize -1]],
24
+ ['Columnize.columnize 30 3', ['columnize.rb', 30, 32]],
25
+ ['Columnize.columnize 40 50', ['columnize.rb', 40, 50]],
26
+ ].each do |arg_str, expect|
27
+ got = @cmdproc.parse_list_cmd(arg_str, listsize, listsize/2)[1..-1]
28
+ got[0] = File.basename(got[0])
29
+ assert_equal expect, got
30
+ end
31
31
  end
32
32
 
33
33
  end
@@ -7,43 +7,47 @@ require_relative '../../io/tcpserver'
7
7
 
8
8
  class TestTCPDbgServer < Test::Unit::TestCase
9
9
 
10
- include Trepanning::TCPPacking
10
+ include Trepanning::TCPPacking
11
11
 
12
- def test_basic
13
- server = Trepan::TCPDbgServer.new({ :open => false,
14
- :port => 1027,
15
- :host => 'localhost'
16
- })
17
- server.open
18
- threads = []
19
- msgs = %w(one two three)
20
- Thread.new do
21
- msgs.each do |msg|
22
- begin
23
- line = server.read_msg.chomp
24
- assert_equal(msg, line)
25
- rescue EOFError
26
- puts 'Got EOF'
27
- break
12
+ def test_basic
13
+ server = Trepan::TCPDbgServer.new({ :open => false,
14
+ :port => 1027,
15
+ :host => 'localhost'
16
+ })
17
+ server.open
18
+ threads = []
19
+ msgs = %w(one two three)
20
+ Thread.new do
21
+ msgs.each do |msg|
22
+ begin
23
+ line = server.read_msg.chomp
24
+ assert_equal(msg, line)
25
+ rescue EOFError
26
+ puts 'Got EOF'
27
+ break
28
+ end
29
+ end
28
30
  end
29
- end
30
- end
31
- threads << Thread.new do
32
- t = TCPSocket.new('localhost', 1027)
33
- msgs.each do |msg|
34
- begin
35
- t.puts(pack_msg(msg))
36
- rescue EOFError
37
- puts "Got EOF"
38
- break
39
- rescue Exception => e
40
- puts "Got #{e}"
41
- break
31
+ threads << Thread.new do
32
+ begin
33
+ t = TCPSocket.new('localhost', 1027)
34
+ msgs.each do |msg|
35
+ begin
36
+ t.puts(pack_msg(msg))
37
+ rescue EOFError
38
+ puts "Got EOF"
39
+ break
40
+ rescue Exception => e
41
+ puts "Got #{e}"
42
+ break
43
+ end
44
+ end
45
+ t.close
46
+ rescue Errno::ECONNREFUSED
47
+ skip "Can't open client port 1027"
48
+ end
42
49
  end
43
- end
44
- t.close
50
+ threads.each {|t| t.join }
51
+ server.close
45
52
  end
46
- threads.each {|t| t.join }
47
- server.close
48
- end
49
53
  end
@@ -4,31 +4,32 @@ require 'test/unit'
4
4
  # Test Trepan::CmdProcessor::Default
5
5
  class TestProcDefault < Test::Unit::TestCase
6
6
 
7
- DIR = File.dirname(__FILE__)
8
- DEFAULT_RBFILE = File.join(%W(#{DIR} .. .. processor default.rb))
7
+ DIR = File.dirname(__FILE__)
8
+ DEFAULT_RBFILE = File.join(%W(#{DIR} .. .. processor default.rb))
9
9
 
10
- def test_maxwidth_setting
11
- ENV['COLUMNS'] = '50'
12
- Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS') if
13
- Trepan::CmdProcessor.const_defined?('DEFAULT_SETTINGS')
14
- load DEFAULT_RBFILE
15
- assert_equal(50, Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
16
- 'Pick up COLUMNS environment')
10
+ def test_maxwidth_setting
11
+ ENV['COLUMNS'] = '50'
12
+ Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS') if
13
+ (defined?(TestProcDefault::Trepan) &&
14
+ Trepan::CmdProcessor.const_defined?('DEFAULT_SETTINGS'))
15
+ load DEFAULT_RBFILE
16
+ assert_equal(50, Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
17
+ 'Pick up COLUMNS environment')
17
18
 
18
- Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS')
19
- load DEFAULT_RBFILE
19
+ Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS')
20
+ load DEFAULT_RBFILE
20
21
 
21
- ENV['COLUMNS'] = '0'
22
- assert_operator(Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
23
- :>=, 10,
24
- 'Change too small COLUMNS environment value')
22
+ ENV['COLUMNS'] = '0'
23
+ assert_operator(Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
24
+ :>=, 10,
25
+ 'Change too small COLUMNS environment value')
25
26
 
26
- Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS')
27
- load DEFAULT_RBFILE
27
+ Trepan::CmdProcessor.send(:remove_const, 'DEFAULT_SETTINGS')
28
+ load DEFAULT_RBFILE
28
29
 
29
- ENV['COLUMNS'] = 'non-numeric-string'
30
- assert_operator(Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
31
- :>=, 10,
32
- 'Change too small COLUMNS environment value')
33
- end
30
+ ENV['COLUMNS'] = 'non-numeric-string'
31
+ assert_operator(Trepan::CmdProcessor::DEFAULT_SETTINGS[:maxwidth],
32
+ :>=, 10,
33
+ 'Change too small COLUMNS environment value')
34
+ end
34
35
  end
@@ -14,8 +14,7 @@ class TestProcEval < Test::Unit::TestCase
14
14
  assert_equal('(eval "x = 1;"...)',
15
15
  cmdp.fake_eval_filename('x = 1; y = 2', 7))
16
16
  x = 1
17
- require 'thread_frame'
18
- cmdp.instance_variable_set('@frame', RubyVM::Frame.current)
17
+ cmdp.instance_variable_set('@frame', RubyVM::Frame.get)
19
18
  cmdp.instance_variable_set('@settings', {:stack_trace_on_error => true})
20
19
  assert_equal('1', cmdp.debug_eval('x = "#{x}"'))
21
20
  x = 2
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'test/unit'
3
- require 'thread_frame'
4
3
  require_relative '../../processor'
5
4
  require_relative '../../processor/frame'
6
5
  require_relative '../../app/mock'
@@ -34,11 +33,11 @@ class TestCmdProcessorFrame < Test::Unit::TestCase
34
33
 
35
34
  # See that we have can load up commands
36
35
  def test_basic
37
- @proc.frame_setup(RubyVM::Frame.current)
36
+ @proc.frame_setup(RubyVM::Frame.get)
38
37
 
39
38
  # Test absolute positioning. Should all be okay
40
- 0.upto(@proc.top_frame.stack_size-1) do |i|
41
- @proc.adjust_frame(i, true)
39
+ 0.upto(@proc.top_frame.stack_size-1) do |i|
40
+ @proc.adjust_frame(i, true)
42
41
  assert_equal(0, $errors.size)
43
42
  assert_equal(true, $msgs.size >= i+1)
44
43
  end
@@ -53,19 +52,19 @@ class TestCmdProcessorFrame < Test::Unit::TestCase
53
52
  assert_equal(frame_index, @proc.frame_index)
54
53
 
55
54
  setup
56
- @proc.top_frame = @proc.frame = RubyVM::Frame.current
55
+ @proc.top_frame = @proc.frame = RubyVM::Frame.get
57
56
  @proc.adjust_frame(0, true)
58
57
 
59
- @proc.top_frame.stack_size-1.times do
58
+ @proc.top_frame.stack_size-1.times do
60
59
  frame_index = @proc.frame_index
61
- @proc.adjust_frame(1, false)
60
+ @proc.adjust_frame(1, false)
62
61
  assert_equal(0, $errors.size)
63
62
  assert_not_equal(frame_index, @proc.frame_index,
64
63
  '@proc.frame_index should have moved')
65
64
  end
66
- # FIXME: bug in threadframe top_frame.stack_size?
65
+ # FIXME: bug in threadframe top_frame.stack_size?
67
66
  # # Adjust relative beyond the end
68
- # @proc.adjust_frame(1, false)
67
+ # @proc.adjust_frame(1, false)
69
68
  # assert_equal(1, $errors.size)
70
69
 
71
70
  # Should have stayed at the end
@@ -29,7 +29,7 @@ class TestProcList < Test::Unit::TestCase
29
29
  end
30
30
 
31
31
  def test_basic
32
- @proc.frame_setup(RubyVM::Frame.current)
32
+ @proc.frame_setup(RubyVM::Frame.get)
33
33
 
34
34
  def foo; 5 end
35
35
  def check(cmdp, arg, last=10)
@@ -18,11 +18,11 @@ class TestCmdProcessorLocation < Test::Unit::TestCase
18
18
  assert_equal File.basename(__FILE__), @cmdproc.canonic_file(__FILE__)
19
19
  end
20
20
 
21
- def test_eval_current_source_text
21
+ def test_eval_get_source_text
22
22
  assert_equal File.basename(__FILE__), @cmdproc.canonic_file(__FILE__)
23
23
  eval <<-EOE
24
24
  @cmdproc.frame_initialize
25
- @cmdproc.frame_setup(RubyVM::Frame.current)
25
+ @cmdproc.frame_setup(RubyVM::Frame.get)
26
26
  assert @cmdproc.current_source_text
27
27
  EOE
28
28
  end
@@ -20,14 +20,14 @@ class TestCmdProcessor < Test::Unit::TestCase
20
20
  assert @cmds.keys.size > 0, 'Should have found at least one command'
21
21
  cmd_name, cmd_obj = @cmds.first
22
22
  assert cmd_name.is_a?(String), 'Should have string name for a command'
23
- assert(cmd_obj.kind_of?(Trepan::Command),
23
+ assert(cmd_obj.kind_of?(Trepan::Command),
24
24
  'Command should be a Trapan::Command')
25
25
  assert cmd_obj.respond_to?(:run), 'Command should have a run method'
26
26
  end
27
27
 
28
28
  def test_compute_prompt
29
29
  assert_equal('(trepan): ', @cmdproc.compute_prompt)
30
- Thread.new{ assert_equal('(trepan@55): ', @cmdproc.compute_prompt.gsub(/@\d+/, '@55'))}.join
30
+ Thread.new{ assert_equal('(trepan@55): ', @cmdproc.compute_prompt.gsub(/@[-]?\d+/, '@55'))}.join
31
31
  x = Thread.new{ Thread.pass; x = 1 }
32
32
  assert_equal('(trepan@main): ', @cmdproc.compute_prompt)
33
33
  x.join
@@ -59,7 +59,7 @@ class TestCmdProcessor < Test::Unit::TestCase
59
59
  assert(ary.is_a?(Array),
60
60
  "#{const} in command #{cmd_name} should be an Array")
61
61
 
62
- ary.each do |v|
62
+ ary.each do |v|
63
63
  assert(v.is_a?(String),
64
64
  "#{const} in command #{cmd_name} should be Array of Strings; got #{v}.")
65
65
  end
@@ -71,9 +71,9 @@ class TestCmdProcessor < Test::Unit::TestCase
71
71
  def run_and_check(cmd, expect_msgs, expect_errmsgs, add_msg)
72
72
  $errs = []; $msgs = []
73
73
  @cmdproc.run_command(cmd)
74
- assert_equal(expect_msgs, $msgs,
74
+ assert_equal(expect_msgs, $msgs,
75
75
  "#{add_msg}: mismatched messages from #{caller[0]}")
76
- assert_equal(expect_errmsgs, $errs,
76
+ assert_equal(expect_errmsgs, $errs,
77
77
  "Mismatched error messages from #{caller[0]}")
78
78
  end
79
79
  def @cmdproc.msg(mess, opts={})
@@ -84,13 +84,13 @@ class TestCmdProcessor < Test::Unit::TestCase
84
84
  end
85
85
  run_and_check('!s=1', ['D=> 1'], [], "! evaluation")
86
86
  run_and_check('pr "foo"', ['"foo"'], [], "print command")
87
- run_and_check('set autoeval off',
88
- ['Evaluation of unrecognized debugger commands is off.'], [],
87
+ run_and_check('set autoeval off',
88
+ ['Evaluation of unrecognized debugger commands is off.'], [],
89
89
  "autoeval set")
90
- run_and_check('asdf', [],
91
- ['Undefined command: "asdf". Try "help".'],
90
+ run_and_check('asdf', [],
91
+ ['Undefined command: "asdf". Try "help".'],
92
92
  "invalid command")
93
-
93
+
94
94
  end
95
95
 
96
96
  end
@@ -3,7 +3,6 @@ require 'test/unit'
3
3
  require_relative '../../processor'
4
4
  require_relative '../../processor/validate'
5
5
  require_relative '../../app/mock'
6
- require 'thread_frame'
7
6
 
8
7
  $errors = []
9
8
  $msgs = []
@@ -29,22 +28,21 @@ class TestValidate < Test::Unit::TestCase
29
28
  end
30
29
 
31
30
  def test_get_int
32
- [['1', 1], ['1E', nil], ['bad', nil], ['1+1', 2], ['-5', -5]].each do
33
- |arg, expected|
34
- assert_equal(expected, @cmdproc.get_int_noerr(arg))
35
- end
31
+ [['1', 1], ['1X', nil], ['bad', nil], ['1+1', 2], ['-5', -5]].each do
32
+ |arg, expected|
33
+ assert_equal(expected, @cmdproc.get_int_noerr(arg))
34
+ end
36
35
  end
37
36
 
38
37
  def test_get_on_off
39
- onoff =
40
- [['1', true], ['on', true],
41
- ['0', false], ['off', false]].each do |arg, expected|
38
+ onoff =
39
+ [['on', true], ['off', false]].each do |arg, expected|
42
40
  assert_equal(expected, @cmdproc.get_onoff(arg))
43
41
  end
44
42
  end
45
43
 
46
44
  def test_parse_position
47
- tf = RubyVM::Frame.current
45
+ tf = RubyVM::Frame.get
48
46
  @cmdproc.frame_setup(tf)
49
47
  file = File.basename(__FILE__)
50
48
  [[__FILE__, [true, file, nil, nil]],
@@ -71,7 +69,7 @@ class TestValidate < Test::Unit::TestCase
71
69
  end
72
70
 
73
71
  # def test_breakpoint_position
74
- # tf = RubyVM::Frame.current
72
+ # tf = RubyVM::Frame.get
75
73
  # @cmdproc.frame_setup(tf)
76
74
 
77
75
  # def munge(args)
@@ -81,7 +79,7 @@ class TestValidate < Test::Unit::TestCase
81
79
 
82
80
  # assert_equal([0, 'bogus', true, 'true', nil],
83
81
  # munge(@cmdproc.breakpoint_position(%w(@0))))
84
- # assert_equal([1, 'bogus', false, 'true', nil],
82
+ # assert_equal([1, 'bogus', false, 'true', nil],
85
83
  # munge(@cmdproc.breakpoint_position(%w(1))))
86
84
  # assert_equal([2, 'bogus', false, 'a > b', nil],
87
85
  # munge(@cmdproc.breakpoint_position(%w(2 if a > b))))
@@ -97,10 +95,10 @@ class TestValidate < Test::Unit::TestCase
97
95
  def test_method?
98
96
  def foo; 5 end
99
97
  require 'irb'
100
- tf = RubyVM::Frame.current
98
+ tf = RubyVM::Frame.get
101
99
  @cmdproc.frame_setup(tf)
102
100
  @cmdproc.method?('@cmdproc.errmsg')
103
- %w(Array.map @cmdproc.errmsg foo Trepan::CmdProcessor.new IRB.start
101
+ %w(Array.map @cmdproc.errmsg foo Trepan::CmdProcessor.new IRB.start
104
102
  ).each do |str|
105
103
  assert @cmdproc.method?(str), "#{str} should be known as a method"
106
104
  end
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'test/unit'
3
- require_relative '../../processor'
4
- require_relative '../../app/core'
3
+ require_relative '../../lib/trepanning.rb'
5
4
 
6
5
  # Test Trepan::CmdProcessor
7
6
  class TestSubCmdHelp < Test::Unit::TestCase
@@ -10,22 +10,17 @@ Gem::Specification.new do |spec|
10
10
  spec.authors = ['R. Bernstein']
11
11
  spec.date = Time.now
12
12
  spec.description = <<-EOF
13
- == Description
14
-
15
- A gdb-like Ruby debugger with both high and low-level debugging support.
16
-
17
- See https://github.com/rocky/rb-trepanning/wiki/Features for a list of features.
13
+ A Ruby debugger with both high and low-level debugging support.
18
14
 
19
15
  To provide the advanced features this version works only with a
20
- [patched MRI Ruby 1.9.3. See http://ruby-debugger-runtime.sourceforge.net/
16
+ patched MRI Ruby 2.1.5 runtime.
21
17
 
22
- This version works only with a patched version of Ruby 1.9.3
23
- Ruby 2.1.5, look for a version that starts with 2.1.5
18
+ This version works only with a patched version of Ruby 2.1.5
19
+ For a version that works with Ruby 1.9.3 look install a version
20
+ starting with 1.93.
24
21
  EOF
25
- spec.add_dependency('rb-trace', '~> 0.5')
26
- spec.add_dependency('rb-threadframe', '~> 0.41')
27
- spec.add_dependency('columnize', '~> 0.9')
28
22
  spec.add_dependency('redcarpet', '~> 3.2')
23
+ spec.add_dependency('columnize', '~> 0.9')
29
24
  spec.add_dependency('coderay', '~> 1.1')
30
25
  spec.add_dependency('term-ansicolor', '~> 1.3')
31
26
  spec.add_development_dependency('diff-lcs', '~> 0') # For testing only
@@ -39,9 +34,9 @@ EOF
39
34
  spec.name = 'trepanning'
40
35
  spec.license = 'MIT'
41
36
  spec.platform = Gem::Platform::RUBY
42
- spec.required_ruby_version = '~> 1.9.3'
37
+ spec.required_ruby_version = '~> 2.1.5'
43
38
  spec.require_path = 'lib'
44
- spec.summary = 'Enhanced Ruby 1.9.3 Debugger'
39
+ spec.summary = 'Enhanced Ruby 2.1 Debugger'
45
40
  spec.version = Trepan::VERSION
46
41
 
47
42
  # Make the readme file the start page for the generated html