trepanning 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. data/.gitignore +4 -0
  2. data/ChangeLog +1279 -235
  3. data/Makefile +13 -0
  4. data/NEWS +30 -0
  5. data/Rakefile +50 -14
  6. data/app/.gitignore +1 -0
  7. data/app/breakpoint.rb +7 -2
  8. data/app/brkptmgr.rb +12 -0
  9. data/app/cmd_parse.citrus +167 -0
  10. data/app/cmd_parse.kpeg +221 -0
  11. data/app/cmd_parse.rb +201 -0
  12. data/app/cmd_parser.rb +1914 -0
  13. data/app/complete.rb +79 -0
  14. data/app/condition.rb +1 -1
  15. data/app/core.rb +7 -11
  16. data/app/default.rb +1 -1
  17. data/app/disassemble.rb +3 -2
  18. data/app/file.rb +12 -36
  19. data/app/frame.rb +3 -2
  20. data/app/irb.rb +9 -5
  21. data/app/iseq.rb +46 -0
  22. data/app/options.rb +6 -30
  23. data/app/run.rb +5 -2
  24. data/app/util.rb +1 -2
  25. data/app/yarv.rb +11 -1
  26. data/bin/.gitignore +1 -0
  27. data/bin/trepan +6 -6
  28. data/data/.gitignore +1 -0
  29. data/interface/.gitignore +1 -0
  30. data/interface/base_intf.rb +9 -5
  31. data/interface/comcodes.rb +10 -8
  32. data/interface/user.rb +76 -17
  33. data/io/.gitignore +1 -0
  34. data/io/input.rb +39 -15
  35. data/io/tcpclient.rb +7 -1
  36. data/io/tcpfns.rb +5 -3
  37. data/io/tcpserver.rb +13 -10
  38. data/lib/.gitignore +1 -0
  39. data/lib/trepanning.rb +50 -13
  40. data/processor/.gitignore +1 -0
  41. data/processor/Makefile +7 -0
  42. data/processor/breakpoint.rb +7 -2
  43. data/processor/command/.gitignore +1 -0
  44. data/processor/command/Makefile +7 -0
  45. data/processor/command/alias.rb +2 -2
  46. data/processor/command/backtrace.rb +4 -0
  47. data/processor/command/base/cmd.rb +45 -2
  48. data/processor/command/base/subcmd.rb +4 -2
  49. data/processor/command/base/submgr.rb +23 -19
  50. data/processor/command/base/subsubcmd.rb +23 -1
  51. data/processor/command/base/subsubmgr.rb +13 -0
  52. data/processor/command/break.rb +34 -29
  53. data/processor/command/complete.rb +37 -0
  54. data/processor/command/condition.rb +2 -0
  55. data/processor/command/continue.rb +15 -18
  56. data/processor/command/disassemble.rb +5 -0
  57. data/processor/command/down.rb +1 -1
  58. data/processor/command/eval.rb +70 -0
  59. data/processor/command/exit.rb +4 -1
  60. data/processor/command/finish.rb +6 -4
  61. data/processor/command/frame.rb +6 -3
  62. data/processor/command/help.rb +97 -54
  63. data/processor/command/help/.gitignore +1 -0
  64. data/processor/command/help/README +10 -0
  65. data/processor/command/help/command.txt +48 -0
  66. data/processor/command/help/filename.txt +40 -0
  67. data/processor/command/help/location.txt +37 -0
  68. data/processor/command/info_subcmd/.gitignore +1 -0
  69. data/processor/command/info_subcmd/breakpoints.rb +9 -9
  70. data/processor/command/info_subcmd/{file.rb → files.rb} +92 -27
  71. data/processor/command/info_subcmd/frame.rb +41 -15
  72. data/processor/command/info_subcmd/iseq.rb +39 -17
  73. data/processor/command/info_subcmd/program.rb +2 -8
  74. data/processor/command/info_subcmd/registers.rb +12 -10
  75. data/processor/command/info_subcmd/registers_subcmd/.gitignore +1 -0
  76. data/processor/command/info_subcmd/ruby.rb +60 -0
  77. data/processor/command/irb.rb +26 -3
  78. data/processor/command/kill.rb +21 -10
  79. data/processor/command/list.rb +1 -1
  80. data/processor/command/macro.rb +37 -23
  81. data/processor/command/pr.rb +1 -1
  82. data/processor/command/reload.rb +4 -0
  83. data/processor/command/reload_subcmd/.gitignore +1 -0
  84. data/processor/command/restart.rb +9 -9
  85. data/processor/command/save.rb +29 -36
  86. data/processor/command/set_subcmd/.gitignore +1 -0
  87. data/processor/command/set_subcmd/auto_subcmd/.gitignore +1 -0
  88. data/processor/command/set_subcmd/confirm.rb +23 -0
  89. data/processor/command/set_subcmd/debug_subcmd/.gitignore +1 -0
  90. data/processor/command/set_subcmd/different.rb +2 -0
  91. data/processor/command/set_subcmd/events.rb +2 -0
  92. data/processor/command/set_subcmd/max.rb +9 -12
  93. data/processor/command/set_subcmd/max_subcmd/.gitignore +1 -0
  94. data/processor/command/set_subcmd/substitute_subcmd/.gitignore +1 -0
  95. data/processor/command/set_subcmd/trace.rb +7 -13
  96. data/processor/command/set_subcmd/trace_subcmd/.gitignore +1 -0
  97. data/processor/command/set_subcmd/trace_subcmd/buffer.rb +12 -27
  98. data/processor/command/set_subcmd/trace_subcmd/print.rb +10 -8
  99. data/processor/command/set_subcmd/trace_subcmd/var.rb +6 -10
  100. data/processor/command/show.rb +12 -1
  101. data/processor/command/show_subcmd/.gitignore +1 -0
  102. data/processor/command/show_subcmd/alias.rb +11 -15
  103. data/processor/command/show_subcmd/auto_subcmd/.gitignore +1 -0
  104. data/processor/command/show_subcmd/basename.rb +1 -9
  105. data/processor/command/show_subcmd/confirm.rb +25 -0
  106. data/processor/command/show_subcmd/debug_subcmd/.gitignore +1 -0
  107. data/processor/command/show_subcmd/macro.rb +32 -14
  108. data/processor/command/show_subcmd/max_subcmd/.gitignore +1 -0
  109. data/processor/command/show_subcmd/trace_subcmd/.gitignore +1 -0
  110. data/processor/command/show_subcmd/trace_subcmd/buffer.rb +11 -31
  111. data/processor/command/show_subcmd/trace_subcmd/print.rb +4 -20
  112. data/processor/command/source.rb +7 -1
  113. data/processor/command/up.rb +7 -4
  114. data/processor/default.rb +3 -1
  115. data/processor/eval.rb +13 -0
  116. data/processor/eventbuf.rb +3 -2
  117. data/processor/frame.rb +19 -0
  118. data/processor/help.rb +20 -0
  119. data/processor/load_cmds.rb +143 -24
  120. data/processor/location.rb +61 -10
  121. data/processor/main.rb +30 -11
  122. data/processor/mock.rb +5 -3
  123. data/processor/msg.rb +17 -0
  124. data/processor/running.rb +1 -1
  125. data/processor/subcmd.rb +3 -2
  126. data/processor/validate.rb +173 -185
  127. data/sample/.gitignore +1 -0
  128. data/sample/list-terminal-colors.rb +139 -0
  129. data/sample/rocky-dot-trepanrc +14 -0
  130. data/sample/rocky-trepan-colors.rb +47 -0
  131. data/test/Makefile +7 -0
  132. data/test/data/.gitignore +1 -0
  133. data/test/data/debugger-stop.cmd +3 -0
  134. data/test/data/debugger-stop.right +5 -0
  135. data/test/data/fname-with-blank.right +0 -3
  136. data/test/data/quit.right +0 -1
  137. data/test/data/quit2.cmd +6 -0
  138. data/test/data/quit2.right +3 -0
  139. data/test/data/testing.cmd +1 -0
  140. data/test/example/.gitignore +1 -0
  141. data/test/example/debugger-stop.rb +14 -0
  142. data/test/functional/.gitignore +2 -0
  143. data/test/functional/fn_helper.rb +7 -9
  144. data/test/functional/test-break-long.rb +7 -7
  145. data/test/functional/test-break.rb +7 -7
  146. data/test/functional/test-condition.rb +4 -4
  147. data/test/functional/test-delete.rb +6 -5
  148. data/test/functional/test-eval.rb +115 -0
  149. data/test/functional/test-raise.rb +1 -1
  150. data/test/functional/test-return.rb +1 -1
  151. data/test/integration/.gitignore +2 -0
  152. data/test/integration/helper.rb +6 -3
  153. data/test/integration/test-debugger-stop.rb +22 -0
  154. data/test/integration/test-quit.rb +8 -0
  155. data/test/unit/.gitignore +1 -0
  156. data/test/unit/Makefile +7 -0
  157. data/test/unit/test-app-brkpt.rb +0 -1
  158. data/test/unit/test-app-cmd_parse.rb +107 -0
  159. data/test/unit/test-app-cmd_parser.rb +22 -0
  160. data/test/unit/test-app-complete.rb +38 -0
  161. data/test/unit/test-app-condition.rb +20 -0
  162. data/test/unit/test-app-iseq.rb +31 -0
  163. data/test/unit/test-app-options.rb +9 -1
  164. data/test/unit/test-app-util.rb +0 -1
  165. data/test/unit/test-base-cmd.rb +46 -0
  166. data/test/unit/test-base-subcmd.rb +11 -2
  167. data/test/unit/test-base-submgr.rb +23 -0
  168. data/test/unit/test-base-subsubcmd.rb +20 -0
  169. data/test/unit/test-cmd-break.rb +22 -23
  170. data/test/unit/test-cmd-help.rb +4 -0
  171. data/test/unit/test-completion.rb +43 -0
  172. data/test/unit/test-io-tcpclient.rb +3 -2
  173. data/test/unit/test-proc-load_cmds.rb +10 -1
  174. data/test/unit/test-proc-location.rb +39 -0
  175. data/test/unit/test-proc-main.rb +1 -1
  176. data/test/unit/test-proc-validate.rb +47 -31
  177. data/trepanning.gemspec +45 -0
  178. metadata +247 -179
  179. data/app/core.rb-consider +0 -198
  180. data/test/functional/tmp/b3.rb +0 -5
  181. data/test/functional/tmp/immediate-bug1.rb +0 -9
@@ -0,0 +1,23 @@
1
+ #!/usr/bin/env ruby
2
+ require_relative 'cmd-helper'
3
+ # We will use set as our canonical example
4
+ require_relative '../../processor/command/set'
5
+
6
+ class TestBaseSubcommandMgr < Test::Unit::TestCase
7
+
8
+ include UnitHelper
9
+ def setup
10
+ common_setup
11
+ end
12
+
13
+ def test_basic
14
+ my_cmd = @cmds['show']
15
+ # require 'trepanning'; debugger
16
+ assert_equal([:debug, :different], my_cmd.complete('d'),
17
+ "Should be able to complete 'd'")
18
+ assert_equal(%w(show args), my_cmd.subcmds.lookup('ar').prefix,
19
+ "Should be able to complete lookup('ar')")
20
+ assert_equal(nil, my_cmd.subcmds.lookup('a'),
21
+ "Shouldn't find since we have 'show args' and 'show auto'")
22
+ end
23
+ end
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test/unit'
3
+ require_relative '../../processor/command/base/subsubcmd'
4
+
5
+ # Mock debugger stub. FIXME: put in common helper routine.
6
+ class Trepan
7
+ end
8
+
9
+ $errors = []
10
+ class TestBaseSubCommand < Test::Unit::TestCase
11
+
12
+ def test_prefix_set
13
+ Trepanning::SubSubcommand.set_name_prefix('/tmp/show_subcmd/auto_subcmd/food.rb',
14
+ self.class)
15
+ assert_equal('food', NAME, "should have set NAME")
16
+ assert_equal('show auto food', CMD)
17
+ assert_equal(%w(show auto food), PREFIX)
18
+ end
19
+
20
+ end
@@ -8,31 +8,34 @@ class TestCommandBreak < Test::Unit::TestCase
8
8
  common_setup
9
9
  @name = File.basename(__FILE__, '.rb').split(/-/)[2]
10
10
  @my_cmd = @cmds[@name]
11
+ @brkpt_set_pat = /^Breakpoint \d+ set at VM offset \d+ of instruction sequence .*,\n\tline \d+ in file .*$/
11
12
  end
12
-
13
+
14
+ def run_cmd(cmd, args)
15
+ cmd.proc.instance_variable_set('@cmd_argstr', args[1..-1].join(' '))
16
+ cmd.run(args)
17
+ end
18
+
19
+ # require_relative '../../lib/trepanning'
13
20
  def test_basic
14
21
  tf = RubyVM::ThreadFrame.current
15
22
  @cmdproc.frame_setup(tf)
16
23
  [
17
24
  [@name, __LINE__.to_s],
18
25
  ].each_with_index do |args, i|
19
- @my_cmd.run(args)
26
+ run_cmd(@my_cmd, args)
20
27
  assert_equal(true, @cmdproc.errmsgs.empty?, @cmdproc.errmsgs)
21
- assert_equal(0,
22
- @cmdproc.msgs[0] =~ /^Breakpoint \d+ set at line \d+ in file #{__FILE__},\n\tVM offset \d+ of instruction sequence \"test_basic\"\.$/,
23
- @cmdproc.msgs[0])
28
+ assert_equal(0, @cmdproc.msgs[0] =~ @brkpt_set_pat, @cmdproc.msgs[0])
24
29
  reset_cmdproc_vars
25
30
  end
26
31
  pc_offset = tf.pc_offset
27
32
  [[@name],
28
- [@name, "O#{pc_offset}"],
33
+ [@name, "@#{pc_offset}"],
29
34
  #[@name, 'FileUtils.cp']
30
35
  ].each_with_index do |args, i|
31
- @my_cmd.run(args)
36
+ run_cmd(@my_cmd, args)
32
37
  assert_equal(true, @cmdproc.errmsgs.empty?, @cmdproc.errmsgs)
33
- assert_equal(0,
34
- @cmdproc.msgs[0] =~ /^Breakpoint \d+ set at VM offset \d+ of instruction sequence \"test_basic\",\n\tline \d+ in file .+\.$/,
35
- @cmdproc.msgs[0])
38
+ assert_equal(0, @cmdproc.msgs[0] =~ @brkpt_set_pat, @cmdproc.msgs[0])
36
39
  reset_cmdproc_vars
37
40
  end
38
41
 
@@ -40,21 +43,17 @@ class TestCommandBreak < Test::Unit::TestCase
40
43
  5
41
44
  end
42
45
  [[@name, 'foo', (__LINE__-3).to_s]].each_with_index do |args, i|
43
- @my_cmd.run(args)
46
+ run_cmd(@my_cmd, args)
44
47
  assert_equal(true, @cmdproc.errmsgs.empty?,
45
48
  @cmdproc.errmsgs)
46
- assert_equal(0,
47
- @cmdproc.msgs[0] =~ /^Breakpoint \d+ set at line \d+ in file #{__FILE__},\n\tVM offset \d+ of instruction sequence \"foo\"\.$/,
48
- @cmdproc.msgs[0])
49
+ assert_equal(true, @cmdproc.errmsgs.empty?, @cmdproc.errmsgs)
49
50
  reset_cmdproc_vars
50
51
  end
51
52
  [[@name, 'foo']].each_with_index do |args, i|
52
- @my_cmd.run(args)
53
+ run_cmd(@my_cmd, args)
53
54
  assert_equal(true, @cmdproc.errmsgs.empty?,
54
55
  @cmdproc.errmsgs)
55
- assert_equal(0,
56
- @cmdproc.msgs[0] =~ /Breakpoint \d+ set at line \d+ in file #{__FILE__},\n\tVM offset \d+/,
57
- @cmdproc.msgs[0])
56
+ assert_equal(0, @cmdproc.msgs[0] =~ @brkpt_set_pat, @cmdproc.msgs[0])
58
57
  reset_cmdproc_vars
59
58
  end
60
59
  end
@@ -63,15 +62,15 @@ class TestCommandBreak < Test::Unit::TestCase
63
62
  # the parent instruction sequence, i.e. the line is not in the
64
63
  # current instruction sequence.
65
64
  def test_parent_breakpoint
66
- xx = 5 # This is the line we set the breakpoint for.
65
+ # skip "Need to add ISEQ parent link to 1.9.2 and further check of old code"
66
+ # require_relative '../../lib/trepanning'
67
+ line = __LINE__ # This is the line we set the breakpoint for.
67
68
  1.times do
68
69
  tf = RubyVM::ThreadFrame.current
69
70
  @cmdproc.frame_setup(tf)
70
- @my_cmd.run([@name, (__LINE__-4).to_s])
71
+ run_cmd(@my_cmd, [@name, line.to_s])
71
72
  assert_equal(true, @cmdproc.errmsgs.empty?, @cmdproc.errmsgs)
72
- assert_equal(0,
73
- @cmdproc.msgs[0] =~ /^Breakpoint \d+ set at line \d+ in file .+\n\tVM offset \d+ of instruction sequence \"test_parent_breakpoint\"\.$/,
74
- @cmdproc.msgs[0])
73
+ assert_equal(0, @cmdproc.msgs[0] =~ @brkpt_set_pat, @cmdproc.msgs[0])
75
74
  reset_cmdproc_vars
76
75
  end
77
76
  end
@@ -96,4 +96,8 @@ class TestCommandHelp < Test::Unit::TestCase
96
96
  end
97
97
  end
98
98
 
99
+ def test_help_complete
100
+ assert_equal(%w(break breakpoints), @my_cmd.complete('br'))
101
+ assert_equal(%w(unalias undisplay), @my_cmd.complete('un'))
102
+ end
99
103
  end
@@ -0,0 +1,43 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test/unit'
3
+ require_relative '../../lib/trepanning'
4
+
5
+ # We don't want to do completion or save history.
6
+ # This is one hacky way to make sure this doesn't happen
7
+ def Trepan::GNU_readline?
8
+ false
9
+ end
10
+
11
+ # Test commands completion
12
+ class TestCompletion < Test::Unit::TestCase
13
+ def test_completion
14
+ dbgr = Trepan.new
15
+ [
16
+ ['sh', 'sh', ['show']], # Simple single completion
17
+ ['se', 'se', ['server', 'set']], # Simple multiple completion
18
+ ['show', 'show', ['show']], # Completion when word is complete
19
+ ['irb ', 'irb ', []], # Don't add anything - no more
20
+ ['set auto', 'auto', ['auto']], # Single completion on two words
21
+ ['set au', 'au', ['auto']], # Single completion when there are two words
22
+ ['sho aut', 'aut', ['auto']], # Add a space because there is more
23
+ ['set auto eval ', '', ['off', 'on']], # Many 3-word completions
24
+ ['set auto ', '', ['eval', 'irb', 'list']], # Many two-word completions
25
+ ['set auto e', 'e', ['eval']],
26
+ ['disas', 'disas', ['disassemble']], # Another single completion
27
+ ['help syn', 'syn', ['syntax']],
28
+ ## FIXME:
29
+ ## ['help syntax', 'co', ['command']],
30
+ ['help br', 'br', ['break', 'breakpoints']],
31
+ ['where', 'where', ['where']], # Single alias completion
32
+ ['set basename o', 'o', ['off', 'on']],
33
+ ].each do |line, token, expect_completion|
34
+ # require_relative '../../lib/trepanning'
35
+ # debugger if line == 'help syntax co'
36
+ assert_equal(expect_completion,
37
+ dbgr.completion_method(token, line),
38
+ "Bad completion on #{line.inspect} with #{token.inspect}")
39
+ end
40
+ assert(dbgr.completion_method('', '').size > 30,
41
+ 'Initial completion should return more than 30 commands')
42
+ end
43
+ end
@@ -36,13 +36,14 @@ class TestTCPDbgClient < Test::Unit::TestCase
36
36
  msgs = %w(four five six)
37
37
  msgs.each do |mess|
38
38
  begin
39
+ break if client.disconnected?
39
40
  client.writeline(mess)
40
41
  assert_equal mess, client.read_msg.chomp
41
42
  rescue EOFError
42
- puts "Got EOF"
43
+ puts "Client got EOF"
43
44
  break
44
45
  rescue Exception => e
45
- puts "Got #{e}"
46
+ puts "Client got #{e}"
46
47
  break
47
48
  end
48
49
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'test/unit'
3
- require_relative '../../processor/load_cmds'
3
+ require_relative '../../processor/main'
4
4
  require_relative '../../app/mock'
5
5
 
6
6
  class TestCmdProcessorLoadCmds < Test::Unit::TestCase
@@ -17,6 +17,15 @@ class TestCmdProcessorLoadCmds < Test::Unit::TestCase
17
17
  assert_equal(false, @proc.aliases.empty?)
18
18
  end
19
19
 
20
+ def test_complete
21
+ assert_equal(%w(debug delete directory disable disassemble display down),
22
+ @proc.complete('d', 'd'),
23
+ "Failed completion of 'd' commands")
24
+ assert_equal(['debug', 'different'], @proc.complete('sho d', 'd'),
25
+ "Failed completion of 'sho d' subcommands")
26
+ $errors = []
27
+ end
28
+
20
29
  def test_run_cmd
21
30
  $errors = []
22
31
 
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env ruby
2
+ require 'test/unit'
3
+ require 'thread_frame'
4
+ require_relative '../../processor/main' # Have to include before frame!
5
+ # FIXME
6
+ require_relative '../../processor/frame'
7
+ require_relative '../../app/mock'
8
+
9
+ $errors = []
10
+ $msgs = []
11
+
12
+ # Test Debugger:CmdProcessor Location portion
13
+ class TestProcLocation < Test::Unit::TestCase
14
+
15
+ def setup
16
+ $errors = []
17
+ $msgs = []
18
+ @proc = Trepan::CmdProcessor.new(Trepan::MockCore.new())
19
+ @proc.instance_variable_set('@settings', {:basename => true})
20
+ @proc.frame_index = 0
21
+ @proc.frame_initialize
22
+ @proc.location_initialize
23
+ class << @proc
24
+ def errmsg(msg)
25
+ $errors << msg
26
+ end
27
+ end
28
+ end
29
+
30
+ def test_it
31
+ assert_equal File.basename(__FILE__), @proc.canonic_file(__FILE__)
32
+ eval <<-EOE
33
+ @proc.frame_initialize
34
+ @proc.frame_setup(RubyVM::ThreadFrame.current)
35
+ @proc.location_initialize
36
+ assert @proc.current_source_text
37
+ EOE
38
+ end
39
+ end
@@ -86,7 +86,7 @@ class TestCmdProcessor < Test::Unit::TestCase
86
86
  $errs << "#{mess}"
87
87
  end
88
88
  run_and_check('!s=1', ['D=> 1'], [], "! evaluation")
89
- run_and_check('pr "foo"', ['foo'], [], "print command")
89
+ run_and_check('pr "foo"', ['"foo"'], [], "print command")
90
90
  run_and_check('set autoeval off',
91
91
  ['Evaluation of unrecognized debugger commands is off.'], [],
92
92
  "autoeval set")
@@ -4,6 +4,7 @@ require_relative '../../processor/main' # Have to include before validate!
4
4
  # FIXME
5
5
  require_relative '../../processor/validate'
6
6
  require_relative '../../app/mock'
7
+ require 'thread_frame'
7
8
 
8
9
  $errors = []
9
10
  $msgs = []
@@ -28,37 +29,55 @@ class TestValidate < Test::Unit::TestCase
28
29
  end
29
30
  end
30
31
 
31
- # See that we have can load up commands
32
- def test_basic
32
+ def test_get_int
33
+ [['1', 1], ['1E', nil], ['bad', nil], ['1+1', 2], ['-5', -5]].each do
34
+ |arg, expected|
35
+ assert_equal(expected, @proc.get_int_noerr(arg))
36
+ end
37
+ end
38
+
39
+ def test_get_on_off
33
40
  onoff =
34
41
  [['1', true], ['on', true],
35
42
  ['0', false], ['off', false]].each do |arg, expected|
36
43
  assert_equal(expected, @proc.get_onoff(arg))
37
44
  end
38
- [['1', 1], ['1E', nil], ['bad', nil], ['1+1', 2], ['-5', -5]].each do
39
- |arg, expected|
40
- assert_equal(expected, @proc.get_int_noerr(arg))
41
- end
42
45
  end
43
46
 
44
- def test_breakpoint_position
45
- require 'thread_frame'
47
+ def test_parse_position
46
48
  tf = RubyVM::ThreadFrame.current
47
49
  @proc.frame_setup(tf)
48
-
49
- def munge(args)
50
- args[1] = 'bogus'
51
- args
50
+ file = File.basename(__FILE__)
51
+ [[__FILE__, [true, file, nil, nil]],
52
+ ['@8', [true, file, 8, :offset]],
53
+ ['8' , [true, file, 8, :line]],
54
+ ["#{__FILE__}:#{__LINE__}" , [true, file, __LINE__, :line]],
55
+ ["#{__FILE__} #{__LINE__}" , [true, file, __LINE__, :line]]
56
+ ].each do |pos_str, expected|
57
+ result = @proc.parse_position(pos_str)
58
+ result[0] = !!result[0]
59
+ result[1] = File.basename(result[1])
60
+ assert_equal(expected, result, "parsing position #{pos_str}")
52
61
  end
53
-
54
- assert_equal([0, 'bogus', true, 'true', nil],
55
- munge(@proc.breakpoint_position(%w(O0))))
56
- assert_equal([1, 'bogus', false, 'true', nil],
57
- munge(@proc.breakpoint_position(%w(1))))
58
- assert_equal([2, 'bogus', false, 'a > b', nil],
59
- munge(@proc.breakpoint_position(%w(2 if a > b))))
60
62
  end
61
63
 
64
+ # def test_breakpoint_position
65
+ # tf = RubyVM::ThreadFrame.current
66
+ # @proc.frame_setup(tf)
67
+
68
+ # def munge(args)
69
+ # args[1] = 'bogus'
70
+ # args
71
+ # end
72
+
73
+ # assert_equal([0, 'bogus', true, 'true', nil],
74
+ # munge(@proc.breakpoint_position(%w(@0))))
75
+ # assert_equal([1, 'bogus', false, 'true', nil],
76
+ # munge(@proc.breakpoint_position(%w(1))))
77
+ # assert_equal([2, 'bogus', false, 'a > b', nil],
78
+ # munge(@proc.breakpoint_position(%w(2 if a > b))))
79
+ # end
80
+
62
81
  def test_int_list
63
82
  assert_equal([1,2,3], @proc.get_int_list(%w(1+0 3-1 3)))
64
83
  assert_equal(0, $errors.size)
@@ -68,21 +87,18 @@ class TestValidate < Test::Unit::TestCase
68
87
 
69
88
  def test_method?
70
89
  def foo; 5 end
71
-
72
- # require_relative '../../lib/trepan'
73
- # dbgr = Trepan.new(:set_restart => true)
74
- # FIXME: 'foo', 'errmsg'
75
- ['Array#map', 'Trepan::CmdProcessor.new'
76
- ].each do |str|
77
- # dbgr.debugger if 'foo' == str
78
- assert_equal(true, @proc.method?(str),
79
- "#{str} should be known as a method")
90
+ require 'irb'
91
+ tf = RubyVM::ThreadFrame.current
92
+ @proc.frame_setup(tf)
93
+ @proc.method?('@proc.errmsg')
94
+ %w(Array.map @proc.errmsg foo Trepan::CmdProcessor.new IRB.start
95
+ ).each do |str|
96
+ assert @proc.method?(str), "#{str} should be known as a method"
80
97
  end
81
98
  ['food', '.errmsg'
82
99
  ].each do |str|
83
- # dbgr.debugger if 'foo' == str
84
- assert_equal(false, @proc.method?(str),
85
- "#{str} should be known as a method")
100
+ assert_equal(false, !!@proc.method?(str),
101
+ "#{str} should not be known as a method")
86
102
  end
87
103
 
88
104
  end
@@ -0,0 +1,45 @@
1
+ # -*- Ruby -*-
2
+ # -*- encoding: utf-8 -*-
3
+ require 'rake'
4
+ require 'rubygems' unless
5
+ Object.const_defined?(:Gem)
6
+ require File.dirname(__FILE__) + "/app/options" unless
7
+ Object.const_defined?(:'Trepan')
8
+
9
+ Gem::Specification.new do |spec|
10
+ spec.authors = ['R. Bernstein']
11
+ spec.date = Time.now
12
+ spec.description = <<-EOF
13
+ A modular, testable, Ruby debugger using some of the best ideas from ruby-debug, other debuggers, and Ruby Rails.
14
+
15
+ Some of the core debugger concepts have been rethought. As a result, some of this may be experimental.
16
+
17
+ This version works only with a patched version of Ruby 1.9.2 and rb-threadframe.
18
+
19
+ See also rbx-trepanning for a version that works with Rubinius.
20
+ EOF
21
+ spec.add_dependency('rb-threadframe', '~> 0.38')
22
+ spec.add_dependency('rb-trace', '>= 0.4')
23
+ spec.add_dependency('linecache-tf', '~> 1.0.dev')
24
+ spec.add_dependency('columnize')
25
+ spec.add_dependency('diff-lcs') # For testing only
26
+ spec.author = 'R. Bernstein'
27
+ spec.bindir = 'bin'
28
+ spec.email = 'rockyb@rubyforge.net'
29
+ spec.executables = ['trepan']
30
+ spec.files = `git ls-files`.split("\n")
31
+ spec.has_rdoc = true
32
+ spec.homepage = 'http://wiki.github.com/rocky/rb-trepanning'
33
+ spec.name = 'trepanning'
34
+ spec.license = 'MIT'
35
+ spec.platform = Gem::Platform::RUBY
36
+ spec.require_path = 'lib'
37
+ spec.required_ruby_version = '~> 1.9.2frame'
38
+ spec.summary = 'Modular Ruby 1.9.2 Debugger'
39
+ spec.version = Trepan::VERSION
40
+
41
+ # Make the readme file the start page for the generated html
42
+ spec.rdoc_options += %w(--main README)
43
+ spec.rdoc_options += ['--title', "Trepan #{Trepan::VERSION} Documentation"]
44
+
45
+ end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - R. Bernstein
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-02-01 00:00:00 -05:00
17
+ date: 2011-03-15 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -27,9 +27,8 @@ dependencies:
27
27
  - !ruby/object:Gem::Version
28
28
  segments:
29
29
  - 0
30
- - 37
31
- - dev
32
- version: 0.37.dev
30
+ - 38
31
+ version: "0.38"
33
32
  type: :runtime
34
33
  version_requirements: *id001
35
34
  - !ruby/object:Gem::Dependency
@@ -104,249 +103,318 @@ extensions: []
104
103
  extra_rdoc_files: []
105
104
 
106
105
  files:
107
- - README.textile
106
+ - .gitignore
107
+ - ChangeLog
108
108
  - LICENSE
109
+ - Makefile
109
110
  - NEWS
110
- - ChangeLog
111
+ - README.textile
111
112
  - Rakefile
112
- - bin/trepan
113
- - app/yarv.rb
114
- - app/condition.rb
115
- - app/frame.rb
116
- - app/display.rb
117
- - app/mock.rb
113
+ - app/.gitignore
118
114
  - app/Makefile
119
- - app/disassemble.rb
120
115
  - app/breakpoint.rb
121
116
  - app/brkptmgr.rb
117
+ - app/client.rb
118
+ - app/cmd_parse.citrus
119
+ - app/cmd_parse.kpeg
120
+ - app/cmd_parse.rb
121
+ - app/cmd_parser.rb
122
+ - app/complete.rb
123
+ - app/condition.rb
124
+ - app/core.rb
122
125
  - app/default.rb
126
+ - app/disassemble.rb
127
+ - app/display.rb
123
128
  - app/file.rb
129
+ - app/frame.rb
130
+ - app/irb.rb
131
+ - app/iseq.rb
132
+ - app/mock.rb
124
133
  - app/options.rb
125
- - app/core.rb
134
+ - app/run.rb
126
135
  - app/thread.rb
127
136
  - app/util.rb
128
- - app/core.rb-consider
129
- - app/run.rb
130
- - app/client.rb
131
- - app/irb.rb
132
- - data/irbrc
137
+ - app/yarv.rb
138
+ - bin/.gitignore
139
+ - bin/trepan
140
+ - data/.gitignore
133
141
  - data/custom_require.rb
142
+ - data/irbrc
134
143
  - data/prelude.rb
135
- - interface/server.rb
136
- - interface/comcodes.rb
144
+ - interface/.gitignore
137
145
  - interface/base_intf.rb
138
146
  - interface/client.rb
147
+ - interface/comcodes.rb
139
148
  - interface/script.rb
149
+ - interface/server.rb
140
150
  - interface/user.rb
141
- - io/tcpserver.rb
142
- - io/string_array.rb
143
- - io/null_output.rb
144
- - io/tcpclient.rb
151
+ - io/.gitignore
145
152
  - io/base_io.rb
146
153
  - io/input.rb
154
+ - io/null_output.rb
155
+ - io/string_array.rb
156
+ - io/tcpclient.rb
147
157
  - io/tcpfns.rb
158
+ - io/tcpserver.rb
159
+ - lib/.gitignore
148
160
  - lib/Makefile
149
161
  - lib/trepanning.rb
150
- - processor/location.rb
151
- - processor/frame.rb
152
- - processor/main.rb
153
- - processor/display.rb
154
- - processor/help.rb
155
- - processor/mock.rb
156
- - processor/running.rb
157
- - processor/validate.rb
158
- - processor/command/server.rb
162
+ - processor/.gitignore
163
+ - processor/Makefile
164
+ - processor/breakpoint.rb
165
+ - processor/command/.gitignore
166
+ - processor/command/Makefile
167
+ - processor/command/alias.rb
159
168
  - processor/command/backtrace.rb
160
- - processor/command/nocache.rb
161
- - processor/command/condition.rb
162
- - processor/command/frame.rb
163
- - processor/command/list.rb
164
- - processor/command/unalias.rb
169
+ - processor/command/base/cmd.rb
170
+ - processor/command/base/subcmd.rb
171
+ - processor/command/base/submgr.rb
172
+ - processor/command/base/subsubcmd.rb
173
+ - processor/command/base/subsubmgr.rb
165
174
  - processor/command/break.rb
166
- - processor/command/enable.rb
175
+ - processor/command/complete.rb
176
+ - processor/command/condition.rb
177
+ - processor/command/continue.rb
178
+ - processor/command/debug.rb
179
+ - processor/command/delete.rb
180
+ - processor/command/directory.rb
181
+ - processor/command/disable.rb
182
+ - processor/command/disassemble.rb
167
183
  - processor/command/display.rb
168
- - processor/command/source.rb
169
- - processor/command/alias.rb
184
+ - processor/command/down.rb
185
+ - processor/command/enable.rb
186
+ - processor/command/eval.rb
187
+ - processor/command/exit.rb
188
+ - processor/command/finish.rb
189
+ - processor/command/frame.rb
170
190
  - processor/command/help.rb
171
- - processor/command/save.rb
172
- - processor/command/step.rb
173
- - processor/command/disable.rb
191
+ - processor/command/help/.gitignore
192
+ - processor/command/help/README
193
+ - processor/command/help/command.txt
194
+ - processor/command/help/filename.txt
195
+ - processor/command/help/location.txt
196
+ - processor/command/info.rb
197
+ - processor/command/info_subcmd/.gitignore
198
+ - processor/command/info_subcmd/args.rb
199
+ - processor/command/info_subcmd/breakpoints.rb
200
+ - processor/command/info_subcmd/files.rb
201
+ - processor/command/info_subcmd/frame.rb
202
+ - processor/command/info_subcmd/iseq.rb
203
+ - processor/command/info_subcmd/locals.rb
204
+ - processor/command/info_subcmd/program.rb
205
+ - processor/command/info_subcmd/registers.rb
206
+ - processor/command/info_subcmd/registers_subcmd/.gitignore
207
+ - processor/command/info_subcmd/registers_subcmd/dfp.rb
208
+ - processor/command/info_subcmd/registers_subcmd/helper.rb
209
+ - processor/command/info_subcmd/registers_subcmd/lfp.rb
210
+ - processor/command/info_subcmd/registers_subcmd/pc.rb
211
+ - processor/command/info_subcmd/registers_subcmd/sp.rb
212
+ - processor/command/info_subcmd/return.rb
213
+ - processor/command/info_subcmd/ruby.rb
214
+ - processor/command/info_subcmd/thread.rb
215
+ - processor/command/irb.rb
174
216
  - processor/command/kill.rb
175
- - processor/command/set_subcmd/debug_subcmd/stack.rb
176
- - processor/command/set_subcmd/debug_subcmd/dbgr.rb
177
- - processor/command/set_subcmd/debug_subcmd/macro.rb
178
- - processor/command/set_subcmd/debug_subcmd/except.rb
179
- - processor/command/set_subcmd/debug_subcmd/skip.rb
180
- - processor/command/set_subcmd/max.rb
181
- - processor/command/set_subcmd/trace_subcmd/var.rb
182
- - processor/command/set_subcmd/trace_subcmd/buffer.rb
183
- - processor/command/set_subcmd/trace_subcmd/print.rb
184
- - processor/command/set_subcmd/auto_subcmd/list.rb
217
+ - processor/command/list.rb
218
+ - processor/command/macro.rb
219
+ - processor/command/next.rb
220
+ - processor/command/nocache.rb
221
+ - processor/command/pr.rb
222
+ - processor/command/ps.rb
223
+ - processor/command/quit.rb
224
+ - processor/command/raise.rb
225
+ - processor/command/reload.rb
226
+ - processor/command/reload_subcmd/.gitignore
227
+ - processor/command/reload_subcmd/command.rb
228
+ - processor/command/restart.rb
229
+ - processor/command/save.rb
230
+ - processor/command/server.rb
231
+ - processor/command/set.rb
232
+ - processor/command/set_subcmd/.gitignore
233
+ - processor/command/set_subcmd/auto.rb
234
+ - processor/command/set_subcmd/auto_subcmd/.gitignore
185
235
  - processor/command/set_subcmd/auto_subcmd/eval.rb
186
236
  - processor/command/set_subcmd/auto_subcmd/irb.rb
187
- - processor/command/set_subcmd/highlight.rb
188
- - processor/command/set_subcmd/return.rb
189
- - processor/command/set_subcmd/hidelevel.rb
190
- - processor/command/set_subcmd/sp.rb
237
+ - processor/command/set_subcmd/auto_subcmd/list.rb
191
238
  - processor/command/set_subcmd/basename.rb
239
+ - processor/command/set_subcmd/confirm.rb
240
+ - processor/command/set_subcmd/debug.rb
241
+ - processor/command/set_subcmd/debug_subcmd/.gitignore
242
+ - processor/command/set_subcmd/debug_subcmd/dbgr.rb
243
+ - processor/command/set_subcmd/debug_subcmd/except.rb
244
+ - processor/command/set_subcmd/debug_subcmd/macro.rb
245
+ - processor/command/set_subcmd/debug_subcmd/skip.rb
246
+ - processor/command/set_subcmd/debug_subcmd/stack.rb
247
+ - processor/command/set_subcmd/different.rb
192
248
  - processor/command/set_subcmd/events.rb
249
+ - processor/command/set_subcmd/hidelevel.rb
250
+ - processor/command/set_subcmd/highlight.rb
251
+ - processor/command/set_subcmd/max.rb
252
+ - processor/command/set_subcmd/max_subcmd/.gitignore
193
253
  - processor/command/set_subcmd/max_subcmd/list.rb
194
254
  - processor/command/set_subcmd/max_subcmd/stack.rb
195
255
  - processor/command/set_subcmd/max_subcmd/string.rb
196
256
  - processor/command/set_subcmd/max_subcmd/width.rb
257
+ - processor/command/set_subcmd/return.rb
258
+ - processor/command/set_subcmd/sp.rb
259
+ - processor/command/set_subcmd/substitute.rb
260
+ - processor/command/set_subcmd/substitute_subcmd/.gitignore
261
+ - processor/command/set_subcmd/substitute_subcmd/eval.rb
197
262
  - processor/command/set_subcmd/substitute_subcmd/path.rb
198
263
  - processor/command/set_subcmd/substitute_subcmd/string.rb
199
- - processor/command/set_subcmd/substitute_subcmd/eval.rb
200
- - processor/command/set_subcmd/trace.rb
201
- - processor/command/set_subcmd/different.rb
202
- - processor/command/set_subcmd/substitute.rb
203
- - processor/command/set_subcmd/debug.rb
204
- - processor/command/set_subcmd/auto.rb
205
264
  - processor/command/set_subcmd/timer.rb
206
- - processor/command/disassemble.rb
207
- - processor/command/info.rb
208
- - processor/command/base/subsubcmd.rb
209
- - processor/command/base/submgr.rb
210
- - processor/command/base/cmd.rb
211
- - processor/command/base/subsubmgr.rb
212
- - processor/command/base/subcmd.rb
213
- - processor/command/finish.rb
214
- - processor/command/undisplay.rb
215
- - processor/command/info_subcmd/frame.rb
216
- - processor/command/info_subcmd/iseq.rb
217
- - processor/command/info_subcmd/return.rb
218
- - processor/command/info_subcmd/registers.rb
219
- - processor/command/info_subcmd/registers_subcmd/helper.rb
220
- - processor/command/info_subcmd/registers_subcmd/lfp.rb
221
- - processor/command/info_subcmd/registers_subcmd/sp.rb
222
- - processor/command/info_subcmd/registers_subcmd/pc.rb
223
- - processor/command/info_subcmd/registers_subcmd/dfp.rb
224
- - processor/command/info_subcmd/locals.rb
225
- - processor/command/info_subcmd/file.rb
226
- - processor/command/info_subcmd/args.rb
227
- - processor/command/info_subcmd/thread.rb
228
- - processor/command/info_subcmd/breakpoints.rb
229
- - processor/command/info_subcmd/program.rb
265
+ - processor/command/set_subcmd/trace.rb
266
+ - processor/command/set_subcmd/trace_subcmd/.gitignore
267
+ - processor/command/set_subcmd/trace_subcmd/buffer.rb
268
+ - processor/command/set_subcmd/trace_subcmd/print.rb
269
+ - processor/command/set_subcmd/trace_subcmd/var.rb
230
270
  - processor/command/show.rb
231
- - processor/command/delete.rb
232
- - processor/command/macro.rb
233
- - processor/command/set.rb
234
- - processor/command/quit.rb
235
- - processor/command/ps.rb
236
- - processor/command/reload.rb
237
- - processor/command/reload_subcmd/command.rb
238
- - processor/command/directory.rb
239
- - processor/command/continue.rb
240
- - processor/command/debug.rb
241
- - processor/command/show_subcmd/debug_subcmd/stack.rb
242
- - processor/command/show_subcmd/debug_subcmd/dbgr.rb
243
- - processor/command/show_subcmd/debug_subcmd/macro.rb
244
- - processor/command/show_subcmd/debug_subcmd/except.rb
245
- - processor/command/show_subcmd/debug_subcmd/skip.rb
246
- - processor/command/show_subcmd/max.rb
247
- - processor/command/show_subcmd/trace_subcmd/buffer.rb
248
- - processor/command/show_subcmd/trace_subcmd/print.rb
249
- - processor/command/show_subcmd/auto_subcmd/list.rb
271
+ - processor/command/show_subcmd/.gitignore
272
+ - processor/command/show_subcmd/alias.rb
273
+ - processor/command/show_subcmd/args.rb
274
+ - processor/command/show_subcmd/auto.rb
275
+ - processor/command/show_subcmd/auto_subcmd/.gitignore
250
276
  - processor/command/show_subcmd/auto_subcmd/eval.rb
251
277
  - processor/command/show_subcmd/auto_subcmd/irb.rb
252
- - processor/command/show_subcmd/highlight.rb
253
- - processor/command/show_subcmd/alias.rb
254
- - processor/command/show_subcmd/hidelevel.rb
278
+ - processor/command/show_subcmd/auto_subcmd/list.rb
255
279
  - processor/command/show_subcmd/basename.rb
280
+ - processor/command/show_subcmd/confirm.rb
281
+ - processor/command/show_subcmd/debug.rb
282
+ - processor/command/show_subcmd/debug_subcmd/.gitignore
283
+ - processor/command/show_subcmd/debug_subcmd/dbgr.rb
284
+ - processor/command/show_subcmd/debug_subcmd/except.rb
285
+ - processor/command/show_subcmd/debug_subcmd/macro.rb
286
+ - processor/command/show_subcmd/debug_subcmd/skip.rb
287
+ - processor/command/show_subcmd/debug_subcmd/stack.rb
288
+ - processor/command/show_subcmd/different.rb
256
289
  - processor/command/show_subcmd/events.rb
290
+ - processor/command/show_subcmd/hidelevel.rb
291
+ - processor/command/show_subcmd/highlight.rb
292
+ - processor/command/show_subcmd/macro.rb
293
+ - processor/command/show_subcmd/max.rb
294
+ - processor/command/show_subcmd/max_subcmd/.gitignore
257
295
  - processor/command/show_subcmd/max_subcmd/list.rb
258
296
  - processor/command/show_subcmd/max_subcmd/stack.rb
259
297
  - processor/command/show_subcmd/max_subcmd/string.rb
260
298
  - processor/command/show_subcmd/max_subcmd/width.rb
261
299
  - processor/command/show_subcmd/trace.rb
262
- - processor/command/show_subcmd/args.rb
263
- - processor/command/show_subcmd/macro.rb
264
- - processor/command/show_subcmd/different.rb
265
- - processor/command/show_subcmd/debug.rb
266
- - processor/command/show_subcmd/auto.rb
267
- - processor/command/exit.rb
268
- - processor/command/irb.rb
269
- - processor/command/pr.rb
270
- - processor/command/restart.rb
271
- - processor/command/down.rb
272
- - processor/command/next.rb
273
- - processor/command/raise.rb
300
+ - processor/command/show_subcmd/trace_subcmd/.gitignore
301
+ - processor/command/show_subcmd/trace_subcmd/buffer.rb
302
+ - processor/command/show_subcmd/trace_subcmd/print.rb
303
+ - processor/command/source.rb
304
+ - processor/command/step.rb
305
+ - processor/command/unalias.rb
306
+ - processor/command/undisplay.rb
274
307
  - processor/command/up.rb
275
- - processor/breakpoint.rb
276
- - processor/eventbuf.rb
277
308
  - processor/default.rb
278
- - processor/load_cmds.rb
279
- - processor/subcmd.rb
309
+ - processor/display.rb
280
310
  - processor/eval.rb
281
- - processor/msg.rb
311
+ - processor/eventbuf.rb
312
+ - processor/frame.rb
313
+ - processor/help.rb
282
314
  - processor/hook.rb
315
+ - processor/load_cmds.rb
316
+ - processor/location.rb
317
+ - processor/main.rb
318
+ - processor/mock.rb
319
+ - processor/msg.rb
320
+ - processor/running.rb
321
+ - processor/subcmd.rb
322
+ - processor/validate.rb
323
+ - sample/.gitignore
324
+ - sample/list-terminal-colors.rb
325
+ - sample/rocky-dot-trepanrc
326
+ - sample/rocky-trepan-colors.rb
327
+ - test/Makefile
328
+ - test/data/.gitignore
329
+ - test/data/debugger-stop.cmd
330
+ - test/data/debugger-stop.right
283
331
  - test/data/enable.cmd
332
+ - test/data/enable.right
284
333
  - test/data/fname-with-blank.cmd
285
- - test/data/quit.cmd
286
334
  - test/data/fname-with-blank.right
335
+ - test/data/quit.cmd
287
336
  - test/data/quit.right
288
- - test/data/enable.right
289
- - test/integration/helper.rb
290
- - test/integration/test-fname-with-blank.rb
291
- - test/integration/test-quit.rb
292
- - test/integration/file-diff.rb
293
- - test/functional/test-trace-var.rb
337
+ - test/data/quit2.cmd
338
+ - test/data/quit2.right
339
+ - test/data/testing.cmd
340
+ - test/example/.gitignore
341
+ - test/example/debugger-stop.rb
342
+ - test/example/fname with blank.rb
343
+ - test/example/gcd-xx.rb
344
+ - test/example/gcd.rb
345
+ - test/example/gcd1.rb
346
+ - test/example/null.rb
347
+ - test/example/thread1.rb
348
+ - test/functional/.gitignore
349
+ - test/functional/fn_helper.rb
294
350
  - test/functional/test-break-long.rb
351
+ - test/functional/test-break.rb
352
+ - test/functional/test-condition.rb
353
+ - test/functional/test-debugger-call-bug.rb
295
354
  - test/functional/test-delete.rb
355
+ - test/functional/test-eval.rb
356
+ - test/functional/test-finish.rb
357
+ - test/functional/test-fn_helper.rb
358
+ - test/functional/test-immediate-step-bug.rb
359
+ - test/functional/test-next.rb
296
360
  - test/functional/test-raise.rb
361
+ - test/functional/test-return.rb
297
362
  - test/functional/test-step.rb
298
- - test/functional/tmp/b3.rb
299
- - test/functional/tmp/immediate-bug1.rb
300
- - test/functional/test-next.rb
301
- - test/functional/test-break.rb
302
- - test/functional/test-debugger-call-bug.rb
303
363
  - test/functional/test-stepbug.rb
304
- - test/functional/test-return.rb
305
- - test/functional/test-immediate-step-bug.rb
306
- - test/functional/test-fn_helper.rb
307
- - test/functional/test-condition.rb
308
- - test/functional/fn_helper.rb
309
- - test/functional/test-finish.rb
310
- - test/unit/test-base-subcmd.rb
311
- - test/unit/test-proc-frame.rb
312
- - test/unit/test-cmd-kill.rb
313
- - test/unit/test-io-tcpclient.rb
314
- - test/unit/test-bin-trepan.rb
315
- - test/unit/test-cmd-source.rb
316
- - test/unit/mock-helper.rb
317
- - test/unit/test-cmd-help.rb
318
- - test/unit/test-proc-load_cmds.rb
364
+ - test/functional/test-trace-var.rb
365
+ - test/integration/.gitignore
366
+ - test/integration/file-diff.rb
367
+ - test/integration/helper.rb
368
+ - test/integration/test-debugger-stop.rb
369
+ - test/integration/test-fname-with-blank.rb
370
+ - test/integration/test-quit.rb
371
+ - test/unit/.gitignore
372
+ - test/unit/Makefile
319
373
  - test/unit/cmd-helper.rb
374
+ - test/unit/mock-helper.rb
320
375
  - test/unit/test-app-brkpt.rb
321
- - test/unit/test-app-options.rb
322
- - test/unit/test-app-frame.rb
323
- - test/unit/test-intf-user.rb
324
- - test/unit/test-cmd-endisable.rb
325
- - test/unit/test-proc-main.rb
326
376
  - test/unit/test-app-brkptmgr.rb
377
+ - test/unit/test-app-cmd_parse.rb
378
+ - test/unit/test-app-cmd_parser.rb
379
+ - test/unit/test-app-complete.rb
380
+ - test/unit/test-app-condition.rb
381
+ - test/unit/test-app-disassemble.rb
327
382
  - test/unit/test-app-file.rb
328
- - test/unit/test-proc-validate.rb
383
+ - test/unit/test-app-frame.rb
384
+ - test/unit/test-app-iseq.rb
385
+ - test/unit/test-app-options.rb
386
+ - test/unit/test-app-run.rb
329
387
  - test/unit/test-app-thread.rb
330
- - test/unit/test-cmd-step.rb
331
- - test/unit/test-io-tcpserver.rb
332
- - test/unit/test-cmd-quit.rb
388
+ - test/unit/test-app-util.rb
389
+ - test/unit/test-base-cmd.rb
390
+ - test/unit/test-base-subcmd.rb
391
+ - test/unit/test-base-submgr.rb
392
+ - test/unit/test-base-subsubcmd.rb
393
+ - test/unit/test-bin-trepan.rb
394
+ - test/unit/test-cmd-alias.rb
333
395
  - test/unit/test-cmd-break.rb
334
- - test/unit/test-proc-hook.rb
396
+ - test/unit/test-cmd-endisable.rb
397
+ - test/unit/test-cmd-help.rb
398
+ - test/unit/test-cmd-kill.rb
399
+ - test/unit/test-cmd-quit.rb
400
+ - test/unit/test-cmd-source.rb
401
+ - test/unit/test-cmd-step.rb
402
+ - test/unit/test-completion.rb
403
+ - test/unit/test-intf-user.rb
335
404
  - test/unit/test-io-input.rb
336
405
  - test/unit/test-io-tcp.rb
406
+ - test/unit/test-io-tcpclient.rb
407
+ - test/unit/test-io-tcpserver.rb
337
408
  - test/unit/test-proc-eval.rb
338
- - test/unit/test-subcmd-help.rb
339
- - test/unit/test-cmd-alias.rb
340
- - test/unit/test-app-run.rb
341
- - test/unit/test-app-util.rb
409
+ - test/unit/test-proc-frame.rb
342
410
  - test/unit/test-proc-help.rb
343
- - test/unit/test-app-disassemble.rb
344
- - test/example/thread1.rb
345
- - test/example/gcd1.rb
346
- - test/example/null.rb
347
- - test/example/gcd-xx.rb
348
- - test/example/fname with blank.rb
349
- - test/example/gcd.rb
411
+ - test/unit/test-proc-hook.rb
412
+ - test/unit/test-proc-load_cmds.rb
413
+ - test/unit/test-proc-location.rb
414
+ - test/unit/test-proc-main.rb
415
+ - test/unit/test-proc-validate.rb
416
+ - test/unit/test-subcmd-help.rb
417
+ - trepanning.gemspec
350
418
  has_rdoc: true
351
419
  homepage: http://wiki.github.com/rocky/rb-trepanning
352
420
  licenses:
@@ -356,7 +424,7 @@ rdoc_options:
356
424
  - --main
357
425
  - README
358
426
  - --title
359
- - Trepan 0.1.0 Documentation
427
+ - Trepan 0.1.1 Documentation
360
428
  require_paths:
361
429
  - lib
362
430
  required_ruby_version: !ruby/object:Gem::Requirement