byebug 3.2.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (127) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +125 -99
  4. data/CONTRIBUTING.md +4 -6
  5. data/GUIDE.md +42 -20
  6. data/Gemfile +5 -3
  7. data/README.md +2 -3
  8. data/Rakefile +11 -7
  9. data/bin/byebug +2 -252
  10. data/byebug.gemspec +7 -4
  11. data/ext/byebug/byebug.c +17 -18
  12. data/ext/byebug/byebug.h +4 -5
  13. data/ext/byebug/context.c +37 -39
  14. data/ext/byebug/threads.c +39 -18
  15. data/lib/byebug.rb +2 -110
  16. data/lib/byebug/attacher.rb +23 -0
  17. data/lib/byebug/breakpoint.rb +60 -0
  18. data/lib/byebug/command.rb +62 -70
  19. data/lib/byebug/commands/break.rb +24 -24
  20. data/lib/byebug/commands/catchpoint.rb +18 -10
  21. data/lib/byebug/commands/condition.rb +18 -17
  22. data/lib/byebug/commands/continue.rb +17 -9
  23. data/lib/byebug/commands/delete.rb +19 -13
  24. data/lib/byebug/commands/display.rb +19 -53
  25. data/lib/byebug/commands/edit.rb +7 -4
  26. data/lib/byebug/commands/enable_disable.rb +130 -0
  27. data/lib/byebug/commands/eval.rb +40 -22
  28. data/lib/byebug/commands/finish.rb +13 -4
  29. data/lib/byebug/commands/frame.rb +65 -45
  30. data/lib/byebug/commands/help.rb +17 -18
  31. data/lib/byebug/commands/history.rb +14 -8
  32. data/lib/byebug/commands/info.rb +160 -182
  33. data/lib/byebug/commands/interrupt.rb +4 -1
  34. data/lib/byebug/commands/irb.rb +30 -0
  35. data/lib/byebug/commands/kill.rb +7 -8
  36. data/lib/byebug/commands/list.rb +71 -66
  37. data/lib/byebug/commands/method.rb +14 -6
  38. data/lib/byebug/commands/pry.rb +35 -0
  39. data/lib/byebug/commands/quit.rb +9 -6
  40. data/lib/byebug/commands/reload.rb +5 -2
  41. data/lib/byebug/commands/restart.rb +13 -9
  42. data/lib/byebug/commands/save.rb +17 -17
  43. data/lib/byebug/commands/set.rb +16 -15
  44. data/lib/byebug/commands/show.rb +10 -11
  45. data/lib/byebug/commands/source.rb +11 -5
  46. data/lib/byebug/commands/stepping.rb +38 -24
  47. data/lib/byebug/commands/threads.rb +45 -31
  48. data/lib/byebug/commands/trace.rb +22 -9
  49. data/lib/byebug/commands/undisplay.rb +45 -0
  50. data/lib/byebug/commands/variables.rb +83 -27
  51. data/lib/byebug/context.rb +25 -22
  52. data/lib/byebug/core.rb +82 -0
  53. data/lib/byebug/helper.rb +37 -28
  54. data/lib/byebug/history.rb +8 -4
  55. data/lib/byebug/interface.rb +12 -17
  56. data/lib/byebug/interfaces/local_interface.rb +11 -8
  57. data/lib/byebug/interfaces/remote_interface.rb +11 -8
  58. data/lib/byebug/interfaces/script_interface.rb +9 -6
  59. data/lib/byebug/options.rb +46 -0
  60. data/lib/byebug/processor.rb +7 -1
  61. data/lib/byebug/processors/command_processor.rb +135 -125
  62. data/lib/byebug/processors/control_command_processor.rb +23 -23
  63. data/lib/byebug/remote.rb +17 -26
  64. data/lib/byebug/runner.rb +100 -0
  65. data/lib/byebug/setting.rb +33 -8
  66. data/lib/byebug/settings/autoeval.rb +5 -15
  67. data/lib/byebug/settings/autoirb.rb +4 -1
  68. data/lib/byebug/settings/autolist.rb +5 -2
  69. data/lib/byebug/settings/autoreload.rb +5 -2
  70. data/lib/byebug/settings/autosave.rb +6 -2
  71. data/lib/byebug/settings/basename.rb +7 -2
  72. data/lib/byebug/settings/callstyle.rb +4 -1
  73. data/lib/byebug/settings/forcestep.rb +6 -3
  74. data/lib/byebug/settings/fullpath.rb +5 -2
  75. data/lib/byebug/settings/histfile.rb +5 -3
  76. data/lib/byebug/settings/histsize.rb +5 -3
  77. data/lib/byebug/settings/linetrace.rb +4 -1
  78. data/lib/byebug/settings/listsize.rb +5 -1
  79. data/lib/byebug/settings/post_mortem.rb +21 -13
  80. data/lib/byebug/settings/stack_on_error.rb +6 -2
  81. data/lib/byebug/settings/testing.rb +6 -1
  82. data/lib/byebug/settings/tracing_plus.rb +5 -1
  83. data/lib/byebug/settings/verbose.rb +13 -2
  84. data/lib/byebug/settings/width.rb +4 -1
  85. data/lib/byebug/version.rb +1 -1
  86. data/test/{break_test.rb → commands/break_test.rb} +41 -53
  87. data/test/{condition_test.rb → commands/condition_test.rb} +14 -14
  88. data/test/{continue_test.rb → commands/continue_test.rb} +0 -0
  89. data/test/{delete_test.rb → commands/delete_test.rb} +2 -2
  90. data/test/commands/display_test.rb +37 -0
  91. data/test/{edit_test.rb → commands/edit_test.rb} +0 -0
  92. data/test/{eval_test.rb → commands/eval_test.rb} +1 -0
  93. data/test/{finish_test.rb → commands/finish_test.rb} +11 -1
  94. data/test/{frame_test.rb → commands/frame_test.rb} +12 -16
  95. data/test/{help_test.rb → commands/help_test.rb} +21 -4
  96. data/test/{history_test.rb → commands/history_test.rb} +0 -0
  97. data/test/{info_test.rb → commands/info_test.rb} +5 -55
  98. data/test/{interrupt_test.rb → commands/interrupt_test.rb} +0 -0
  99. data/test/commands/irb_test.rb +28 -0
  100. data/test/{kill_test.rb → commands/kill_test.rb} +1 -1
  101. data/test/{list_test.rb → commands/list_test.rb} +1 -1
  102. data/test/{method_test.rb → commands/method_test.rb} +0 -0
  103. data/test/{post_mortem_test.rb → commands/post_mortem_test.rb} +6 -10
  104. data/test/{pry_test.rb → commands/pry_test.rb} +4 -13
  105. data/test/{quit_test.rb → commands/quit_test.rb} +4 -4
  106. data/test/{reload_test.rb → commands/reload_test.rb} +0 -0
  107. data/test/{restart_test.rb → commands/restart_test.rb} +6 -0
  108. data/test/{save_test.rb → commands/save_test.rb} +2 -2
  109. data/test/{set_test.rb → commands/set_test.rb} +9 -2
  110. data/test/{show_test.rb → commands/show_test.rb} +1 -1
  111. data/test/{source_test.rb → commands/source_test.rb} +3 -3
  112. data/test/{stepping_test.rb → commands/stepping_test.rb} +44 -35
  113. data/test/{thread_test.rb → commands/thread_test.rb} +0 -0
  114. data/test/{trace_test.rb → commands/trace_test.rb} +0 -0
  115. data/test/{display_test.rb → commands/undisplay_test.rb} +7 -45
  116. data/test/{variables_test.rb → commands/variables_test.rb} +10 -1
  117. data/test/debugger_alias_test.rb +2 -2
  118. data/test/runner_test.rb +127 -0
  119. data/test/support/matchers.rb +27 -25
  120. data/test/support/test_interface.rb +9 -5
  121. data/test/support/utils.rb +96 -101
  122. data/test/test_helper.rb +32 -20
  123. metadata +93 -68
  124. data/lib/byebug/commands/enable.rb +0 -154
  125. data/lib/byebug/commands/repl.rb +0 -126
  126. data/test/irb_test.rb +0 -47
  127. data/test/support/breakpoint.rb +0 -13
@@ -1,37 +1,38 @@
1
- module Minitest::Assertions
2
-
3
- # This matcher checks that given collection is included into the original
4
- # collection and in correct order. It accepts both strings and regexps.
1
+ module Minitest
5
2
  #
6
- # Examples:
7
- # assert_includes_in_order(%w{1 2 3 4 5}, %w{1 3 5}) # => pass
8
- # assert_includes_in_order(%w{1 2 3 4 5}, %w{1 5 3}) # => fail
9
- # assert_includes_in_order(w{1 2 3 4 5}, ["1", /\d+/, "5"]) # => pass
10
- # assert_includes_in_order(w{1 2 3 4 5}, ["1", /\[a-z]+/, "5"]) # => fail
3
+ # Custom Minitest assertions
11
4
  #
12
- def assert_includes_in_order(given_collection, original_collection, msg = nil)
13
- msg = message(msg) do
14
- "Expected #{mu_pp(original_collection)} " \
15
- "to include #{mu_pp(given_collection)} in order"
5
+ module Assertions
6
+ # This matcher checks that given collection is included into the original
7
+ # collection and in correct order. It accepts both strings and regexps.
8
+ #
9
+ # Examples:
10
+ # assert_includes_in_order(%w{1 2 3 4 5}, %w{1 3 5}) # => pass
11
+ # assert_includes_in_order(%w{1 2 3 4 5}, %w{1 5 3}) # => fail
12
+ # assert_includes_in_order(w{1 2 3 4 5}, ["1", /\d+/, "5"]) # => pass
13
+ # assert_includes_in_order(w{1 2 3 4 5}, ["1", /\[a-z]+/, "5"]) # => fail
14
+ #
15
+ def assert_includes_in_order(given, original, msg = nil)
16
+ msg = message(msg) do
17
+ "Expected #{mu_pp(original)} to include #{mu_pp(given)} in order"
18
+ end
19
+ assert _includes_in_order(original, given), msg
16
20
  end
17
- assert includes_in_order_result(original_collection, given_collection), msg
18
- end
19
21
 
20
- def refute_includes_in_order(given_collection, original_collection, msg = nil)
21
- msg = message(msg) do
22
- "Expected #{mu_pp(original_collection)} " \
23
- "to not include #{mu_pp(given_collection)} in order"
22
+ def refute_includes_in_order(given, original, msg = nil)
23
+ msg = message(msg) do
24
+ "Expected #{mu_pp(original)} to not include #{mu_pp(given)} in order"
25
+ end
26
+ refute _includes_in_order(original, given), msg
24
27
  end
25
- refute includes_in_order_result(original_collection, given_collection), msg
26
- end
27
-
28
28
 
29
- private
29
+ private
30
30
 
31
- def includes_in_order_result(original_collection, given_collection)
31
+ def _includes_in_order(original_collection, given_collection)
32
32
  result = true
33
33
  given_collection.each do |given_item|
34
- result &&= case given_item
34
+ result &&=
35
+ case given_item
35
36
  when String
36
37
  index = original_collection.index(given_item)
37
38
  if index
@@ -60,4 +61,5 @@ module Minitest::Assertions
60
61
  end
61
62
  result
62
63
  end
64
+ end
63
65
  end
@@ -1,8 +1,12 @@
1
1
  require 'byebug/history'
2
2
 
3
3
  module Byebug
4
+ #
5
+ # Custom interface for easier assertions
6
+ #
4
7
  class TestInterface < Interface
5
- attr_reader :input_queue, :output_queue, :error_queue, :confirm_queue, :history
8
+ attr_reader :input_queue, :output_queue, :error_queue, :confirm_queue,
9
+ :history
6
10
 
7
11
  attr_accessor :test_block
8
12
 
@@ -12,10 +16,10 @@ module Byebug
12
16
  end
13
17
 
14
18
  def errmsg(*args)
15
- @error_queue << format(*args)
19
+ @error_queue.push(*args)
16
20
  end
17
21
 
18
- def read_command(*args)
22
+ def read_command(*)
19
23
  if @input_queue.empty?
20
24
  if test_block
21
25
  test_block.call
@@ -27,8 +31,8 @@ module Byebug
27
31
  end
28
32
  end
29
33
 
30
- def print(*args)
31
- @output_queue << format(*args)
34
+ def puts(*args)
35
+ @output_queue.push(*args)
32
36
  end
33
37
 
34
38
  def confirm(message)
@@ -1,119 +1,114 @@
1
1
  require_relative 'matchers'
2
2
  require_relative 'test_interface'
3
3
 
4
- module Byebug::TestUtils
4
+ module Byebug
5
5
  #
6
- # Adds commands to the input queue, so they will be later retrieved by
7
- # Processor, i.e., it emulates user's input.
6
+ # Misc tools for the test suite
8
7
  #
9
- # If a command is a Proc object, it will be executed before being retrieved by
10
- # Processor. May be handy when you need build a command depending on the
11
- # current context/state.
12
- #
13
- # Usage:
14
- # enter 'b 12'
15
- # enter 'b 12', 'cont'
16
- # enter ['b 12', 'cont']
17
- # enter 'b 12', ->{"disable #{breakpoint.id}"}, 'cont'
18
- #
19
- def enter(*messages)
20
- messages = messages.first.is_a?(Array) ? messages.first : messages
21
- interface.input_queue.concat(messages)
22
- end
23
-
24
- #
25
- # Runs the provided Proc
26
- #
27
- # You also can specify a block, which will be executed when Processor extracts
28
- # all the commands from the input queue. You can use that for making asserts
29
- # on the current test. If you specified the block and it never was executed,
30
- # the test will fail.
31
- #
32
- # Usage:
33
- # debug_proc -> { byebug; puts 'Hello' }
34
- #
35
- # enter 'b 4', 'cont'
36
- # code = -> do
37
- # byebug
38
- # puts 'hello'
39
- # end
40
- # debug_proc(code) { assert_equal 4, state.line }
41
- #
42
- def debug_proc(program, &block)
43
- Byebug.stubs(:run_init_script)
44
- interface.test_block = block
45
- begin
46
- program.call
47
- ensure
48
- interface.test_block.call if interface.test_block
8
+ module TestUtils
9
+ #
10
+ # Adds commands to the input queue, so they will be later retrieved by
11
+ # Processor, i.e., it emulates user's input.
12
+ #
13
+ # If a command is a Proc object, it will be executed before being retrieved
14
+ # by Processor. May be handy when you need build a command depending on the
15
+ # current context/state.
16
+ #
17
+ # Usage:
18
+ # enter 'b 12'
19
+ # enter 'b 12', 'cont'
20
+ # enter ['b 12', 'cont']
21
+ # enter 'b 12', ->{"disable #{breakpoint.id}"}, 'cont'
22
+ #
23
+ def enter(*messages)
24
+ messages = messages.first.is_a?(Array) ? messages.first : messages
25
+ interface.input_queue.concat(messages)
49
26
  end
50
- end
51
-
52
- #
53
- # Checks the output of byebug.
54
- #
55
- # By default it checks output queue of the current interface, but you can
56
- # check again any queue by providing it as a second argument.
57
- #
58
- # Usage:
59
- # enter 'break 4', 'cont'
60
- # debug 'ex1'
61
- # check_output "Breakpoint 1 at #{fullpath('ex1')}:4"
62
- #
63
- def check_output(check_method, *args)
64
- queue = args.last.is_a?(String) || args.last.is_a?(Regexp) ?
65
- interface.output_queue : args.pop
66
- queue_messages = queue.map(&:strip)
67
- messages = Array(args).map { |msg| msg.is_a?(String) ? msg.strip : msg }
68
- send(check_method, messages, queue_messages)
69
- end
70
-
71
- def check_error_includes(*args)
72
- check_output :assert_includes_in_order, *args, interface.error_queue
73
- end
74
27
 
75
- def check_output_includes(*args)
76
- check_output :assert_includes_in_order, *args
77
- end
28
+ #
29
+ # Runs the provided Proc
30
+ #
31
+ # You also can specify a block, which will be executed when Processor
32
+ # extracts all the commands from the input queue. You can use that for
33
+ # making assertions on the current test. If you specified the block and it
34
+ # was never executed, the test will fail.
35
+ #
36
+ # Usage:
37
+ # debug_proc -> { byebug; puts 'Hello' }
38
+ #
39
+ # enter 'b 4', 'cont'
40
+ # code = -> do
41
+ # byebug
42
+ # puts 'hello'
43
+ # end
44
+ # debug_proc(code) { assert_equal 4, state.line }
45
+ #
46
+ def debug_proc(program, &block)
47
+ Byebug.stubs(:run_init_script)
48
+ interface.test_block = block
49
+ begin
50
+ program.call
51
+ ensure
52
+ interface.test_block.call if interface.test_block
53
+ end
54
+ end
78
55
 
79
- def check_output_doesnt_include(*args)
80
- check_output :refute_includes_in_order, *args
81
- end
56
+ #
57
+ # Checks the output of byebug.
58
+ #
59
+ # By default it checks output queue of the current interface, but you can
60
+ # check again any queue by providing it as a second argument.
61
+ #
62
+ # Usage:
63
+ # enter 'break 4', 'cont'
64
+ # debug 'ex1'
65
+ # check_output "Breakpoint 1 at #{fullpath('ex1')}:4"
66
+ #
67
+ def check_output(check_method, queue, *args)
68
+ queue_messages = queue.map(&:strip)
69
+ messages = Array(args).map { |msg| msg.is_a?(String) ? msg.strip : msg }
70
+ send(check_method, messages, queue_messages)
71
+ end
82
72
 
83
- def interface
84
- Byebug.handler.interface
85
- end
73
+ %w(output error confirm).each do |queue_name|
74
+ define_method(:"check_#{queue_name}_includes") do |*args|
75
+ queue = interface.send(:"#{queue_name}_queue")
76
+ send(:check_output, :assert_includes_in_order, queue, *args)
77
+ end
86
78
 
87
- def state
88
- Thread.current.thread_variable_get('state')
89
- end
79
+ define_method(:"check_#{queue_name}_doesnt_include") do |*args|
80
+ queue = interface.send(:"#{queue_name}_queue")
81
+ send(:check_output, :refute_includes_in_order, queue, *args)
82
+ end
83
+ end
90
84
 
91
- def first_brkpt
92
- Byebug.breakpoints.first
93
- end
85
+ def interface
86
+ Byebug.handler.interface
87
+ end
94
88
 
95
- def last_brkpt
96
- Byebug.breakpoints.last
97
- end
89
+ def state
90
+ Thread.current.thread_variable_get('state')
91
+ end
98
92
 
99
- def context
100
- state.context
101
- end
93
+ def context
94
+ state.context
95
+ end
102
96
 
103
- def force_set_const(klass, const, value)
104
- force_unset_const(klass, const)
105
- klass.const_set(const, value)
106
- end
97
+ def force_set_const(klass, const, value)
98
+ force_unset_const(klass, const)
99
+ klass.const_set(const, value)
100
+ end
107
101
 
108
- def force_unset_const(klass, const)
109
- klass.send(:remove_const, const) if klass.const_defined?(const)
110
- end
102
+ def force_unset_const(klass, const)
103
+ klass.send(:remove_const, const) if klass.const_defined?(const)
104
+ end
111
105
 
112
- def change_line_in_file(file, line, new_line_content)
113
- old_content = File.read(file)
114
- new_content = old_content.split("\n")
115
- .tap { |c| c[line - 1] = new_line_content }
116
- .join("\n") + "\n"
117
- File.open(file, 'w') { |f| f.write(new_content) }
106
+ def change_line_in_file(file, line, new_line_content)
107
+ old_content = File.read(file)
108
+ new_content = old_content.split("\n")
109
+ .tap { |c| c[line - 1] = new_line_content }
110
+ .join("\n") + "\n"
111
+ File.open(file, 'w') { |f| f.write(new_content) }
112
+ end
118
113
  end
119
114
  end
@@ -1,6 +1,9 @@
1
1
  if ENV['CI']
2
2
  require 'codeclimate-test-reporter'
3
3
  CodeClimate::TestReporter.start
4
+ else
5
+ require 'simplecov'
6
+ SimpleCov.start
4
7
  end
5
8
 
6
9
  require 'minitest'
@@ -10,31 +13,40 @@ require 'byebug'
10
13
 
11
14
  require_relative 'support/utils'
12
15
 
13
- class Byebug::TestCase < Minitest::Test
16
+ module Byebug
14
17
  #
15
- # Reset to default state before each test
18
+ # Extends Minitest's base test case and provides defaults for all tests
16
19
  #
17
- def setup
18
- Byebug.handler = Byebug::CommandProcessor.new(Byebug::TestInterface.new)
19
- Byebug.breakpoints.clear if Byebug.breakpoints
20
- Byebug.catchpoints.clear if Byebug.catchpoints
21
-
22
- Byebug::Setting.load
23
- Byebug::Setting[:autolist] = false
24
- Byebug::Setting[:testing] = true
25
- Byebug::Setting[:verbose] = true
26
- Byebug::Setting[:width] = 80
27
-
28
- byebug_bin = File.expand_path('../../../bin/byebug', __FILE__)
29
- force_set_const(Byebug, 'BYEBUG_SCRIPT', byebug_bin)
30
- force_set_const(Byebug, 'PROG_SCRIPT', $0)
31
- end
20
+ class TestCase < Minitest::Test
21
+ #
22
+ # Reset to default state before each test
23
+ #
24
+ def setup
25
+ Byebug.handler = Byebug::CommandProcessor.new(Byebug::TestInterface.new)
26
+ Byebug.breakpoints.clear if Byebug.breakpoints
27
+ Byebug.catchpoints.clear if Byebug.catchpoints
28
+
29
+ Byebug::Setting.load
30
+ Byebug::Setting[:autolist] = false
31
+ Byebug::Setting[:testing] = true
32
+ Byebug::Setting[:width] = 80
33
+
34
+ byebug_bin = File.expand_path('../../../bin/byebug', __FILE__)
35
+ force_set_const(Byebug, 'BYEBUG_SCRIPT', byebug_bin)
36
+
37
+ # include test files as ignored files
38
+ glob_exp = File.expand_path('../../{lib,test/support}/**/*.rb', __FILE__)
39
+ ignored_files = Dir.glob(glob_exp) + ['test/test_helper.rb']
40
+ force_set_const(Byebug, 'IGNORED_FILES', ignored_files)
32
41
 
33
- include Byebug::TestUtils
42
+ force_set_const(Byebug, 'PROG_SCRIPT', $PROGRAM_NAME)
43
+ end
44
+
45
+ include Byebug::TestUtils
46
+ end
34
47
  end
35
48
 
36
49
  # Init globals to avoid warnings
37
- $bla = nil
38
50
  $binding = binding # this is from irb...
39
51
 
40
52
  # Load the test files from the command line.
@@ -43,7 +55,7 @@ argv = ARGV.select do |argument|
43
55
  when /^-/ then
44
56
  argument
45
57
  when /\*/ then
46
- Dir.glob('test/*_test.rb').each do |file|
58
+ Dir.glob('test/**/*_test.rb').each do |file|
47
59
  require File.expand_path file
48
60
  end
49
61
  false
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: byebug
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.2.0
4
+ version: 3.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Rodriguez
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-08-02 00:00:00.000000000 Z
13
+ date: 2014-08-28 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: columnize
@@ -26,6 +26,20 @@ dependencies:
26
26
  - - "~>"
27
27
  - !ruby/object:Gem::Version
28
28
  version: '0.8'
29
+ - !ruby/object:Gem::Dependency
30
+ name: slop
31
+ requirement: !ruby/object:Gem::Requirement
32
+ requirements:
33
+ - - "~>"
34
+ - !ruby/object:Gem::Version
35
+ version: '3.6'
36
+ type: :runtime
37
+ prerelease: false
38
+ version_requirements: !ruby/object:Gem::Requirement
39
+ requirements:
40
+ - - "~>"
41
+ - !ruby/object:Gem::Version
42
+ version: '3.6'
29
43
  - !ruby/object:Gem::Dependency
30
44
  name: debugger-linecache
31
45
  requirement: !ruby/object:Gem::Requirement
@@ -54,8 +68,10 @@ extensions:
54
68
  - ext/byebug/extconf.rb
55
69
  extra_rdoc_files:
56
70
  - README.md
71
+ - GUIDE.md
57
72
  files:
58
73
  - ".gitignore"
74
+ - ".rubocop.yml"
59
75
  - ".travis.yml"
60
76
  - CHANGELOG.md
61
77
  - CONTRIBUTING.md
@@ -74,6 +90,8 @@ files:
74
90
  - ext/byebug/locker.c
75
91
  - ext/byebug/threads.c
76
92
  - lib/byebug.rb
93
+ - lib/byebug/attacher.rb
94
+ - lib/byebug/breakpoint.rb
77
95
  - lib/byebug/command.rb
78
96
  - lib/byebug/commands/break.rb
79
97
  - lib/byebug/commands/catchpoint.rb
@@ -82,7 +100,7 @@ files:
82
100
  - lib/byebug/commands/delete.rb
83
101
  - lib/byebug/commands/display.rb
84
102
  - lib/byebug/commands/edit.rb
85
- - lib/byebug/commands/enable.rb
103
+ - lib/byebug/commands/enable_disable.rb
86
104
  - lib/byebug/commands/eval.rb
87
105
  - lib/byebug/commands/finish.rb
88
106
  - lib/byebug/commands/frame.rb
@@ -90,12 +108,13 @@ files:
90
108
  - lib/byebug/commands/history.rb
91
109
  - lib/byebug/commands/info.rb
92
110
  - lib/byebug/commands/interrupt.rb
111
+ - lib/byebug/commands/irb.rb
93
112
  - lib/byebug/commands/kill.rb
94
113
  - lib/byebug/commands/list.rb
95
114
  - lib/byebug/commands/method.rb
115
+ - lib/byebug/commands/pry.rb
96
116
  - lib/byebug/commands/quit.rb
97
117
  - lib/byebug/commands/reload.rb
98
- - lib/byebug/commands/repl.rb
99
118
  - lib/byebug/commands/restart.rb
100
119
  - lib/byebug/commands/save.rb
101
120
  - lib/byebug/commands/set.rb
@@ -104,18 +123,22 @@ files:
104
123
  - lib/byebug/commands/stepping.rb
105
124
  - lib/byebug/commands/threads.rb
106
125
  - lib/byebug/commands/trace.rb
126
+ - lib/byebug/commands/undisplay.rb
107
127
  - lib/byebug/commands/variables.rb
108
128
  - lib/byebug/context.rb
129
+ - lib/byebug/core.rb
109
130
  - lib/byebug/helper.rb
110
131
  - lib/byebug/history.rb
111
132
  - lib/byebug/interface.rb
112
133
  - lib/byebug/interfaces/local_interface.rb
113
134
  - lib/byebug/interfaces/remote_interface.rb
114
135
  - lib/byebug/interfaces/script_interface.rb
136
+ - lib/byebug/options.rb
115
137
  - lib/byebug/processor.rb
116
138
  - lib/byebug/processors/command_processor.rb
117
139
  - lib/byebug/processors/control_command_processor.rb
118
140
  - lib/byebug/remote.rb
141
+ - lib/byebug/runner.rb
119
142
  - lib/byebug/setting.rb
120
143
  - lib/byebug/settings/autoeval.rb
121
144
  - lib/byebug/settings/autoirb.rb
@@ -137,42 +160,43 @@ files:
137
160
  - lib/byebug/settings/verbose.rb
138
161
  - lib/byebug/settings/width.rb
139
162
  - lib/byebug/version.rb
140
- - test/break_test.rb
141
- - test/condition_test.rb
142
- - test/continue_test.rb
163
+ - test/commands/break_test.rb
164
+ - test/commands/condition_test.rb
165
+ - test/commands/continue_test.rb
166
+ - test/commands/delete_test.rb
167
+ - test/commands/display_test.rb
168
+ - test/commands/edit_test.rb
169
+ - test/commands/eval_test.rb
170
+ - test/commands/finish_test.rb
171
+ - test/commands/frame_test.rb
172
+ - test/commands/help_test.rb
173
+ - test/commands/history_test.rb
174
+ - test/commands/info_test.rb
175
+ - test/commands/interrupt_test.rb
176
+ - test/commands/irb_test.rb
177
+ - test/commands/kill_test.rb
178
+ - test/commands/list_test.rb
179
+ - test/commands/method_test.rb
180
+ - test/commands/post_mortem_test.rb
181
+ - test/commands/pry_test.rb
182
+ - test/commands/quit_test.rb
183
+ - test/commands/reload_test.rb
184
+ - test/commands/restart_test.rb
185
+ - test/commands/save_test.rb
186
+ - test/commands/set_test.rb
187
+ - test/commands/show_test.rb
188
+ - test/commands/source_test.rb
189
+ - test/commands/stepping_test.rb
190
+ - test/commands/thread_test.rb
191
+ - test/commands/trace_test.rb
192
+ - test/commands/undisplay_test.rb
193
+ - test/commands/variables_test.rb
143
194
  - test/debugger_alias_test.rb
144
- - test/delete_test.rb
145
- - test/display_test.rb
146
- - test/edit_test.rb
147
- - test/eval_test.rb
148
- - test/finish_test.rb
149
- - test/frame_test.rb
150
- - test/help_test.rb
151
- - test/history_test.rb
152
- - test/info_test.rb
153
- - test/interrupt_test.rb
154
- - test/irb_test.rb
155
- - test/kill_test.rb
156
- - test/list_test.rb
157
- - test/method_test.rb
158
- - test/post_mortem_test.rb
159
- - test/pry_test.rb
160
- - test/quit_test.rb
161
- - test/reload_test.rb
162
- - test/restart_test.rb
163
- - test/save_test.rb
164
- - test/set_test.rb
165
- - test/show_test.rb
166
- - test/source_test.rb
167
- - test/stepping_test.rb
168
- - test/support/breakpoint.rb
195
+ - test/runner_test.rb
169
196
  - test/support/matchers.rb
170
197
  - test/support/test_interface.rb
171
198
  - test/support/utils.rb
172
199
  - test/test_helper.rb
173
- - test/thread_test.rb
174
- - test/trace_test.rb
175
- - test/variables_test.rb
176
200
  homepage: http://github.com/deivid-rodriguez/byebug
177
201
  licenses:
178
202
  - BSD
@@ -193,44 +217,45 @@ required_rubygems_version: !ruby/object:Gem::Requirement
193
217
  version: '0'
194
218
  requirements: []
195
219
  rubyforge_project:
196
- rubygems_version: 2.2.2
220
+ rubygems_version: 2.4.1
197
221
  signing_key:
198
222
  specification_version: 4
199
- summary: Ruby 2.0 fast debugger - base + cli
223
+ summary: Ruby 2.0 fast debugger - base + CLI
200
224
  test_files:
201
- - test/break_test.rb
202
- - test/condition_test.rb
203
- - test/continue_test.rb
225
+ - test/commands/break_test.rb
226
+ - test/commands/condition_test.rb
227
+ - test/commands/continue_test.rb
228
+ - test/commands/delete_test.rb
229
+ - test/commands/display_test.rb
230
+ - test/commands/edit_test.rb
231
+ - test/commands/eval_test.rb
232
+ - test/commands/finish_test.rb
233
+ - test/commands/frame_test.rb
234
+ - test/commands/help_test.rb
235
+ - test/commands/history_test.rb
236
+ - test/commands/info_test.rb
237
+ - test/commands/interrupt_test.rb
238
+ - test/commands/irb_test.rb
239
+ - test/commands/kill_test.rb
240
+ - test/commands/list_test.rb
241
+ - test/commands/method_test.rb
242
+ - test/commands/post_mortem_test.rb
243
+ - test/commands/pry_test.rb
244
+ - test/commands/quit_test.rb
245
+ - test/commands/reload_test.rb
246
+ - test/commands/restart_test.rb
247
+ - test/commands/save_test.rb
248
+ - test/commands/set_test.rb
249
+ - test/commands/show_test.rb
250
+ - test/commands/source_test.rb
251
+ - test/commands/stepping_test.rb
252
+ - test/commands/thread_test.rb
253
+ - test/commands/trace_test.rb
254
+ - test/commands/undisplay_test.rb
255
+ - test/commands/variables_test.rb
204
256
  - test/debugger_alias_test.rb
205
- - test/delete_test.rb
206
- - test/display_test.rb
207
- - test/edit_test.rb
208
- - test/eval_test.rb
209
- - test/finish_test.rb
210
- - test/frame_test.rb
211
- - test/help_test.rb
212
- - test/history_test.rb
213
- - test/info_test.rb
214
- - test/interrupt_test.rb
215
- - test/irb_test.rb
216
- - test/kill_test.rb
217
- - test/list_test.rb
218
- - test/method_test.rb
219
- - test/post_mortem_test.rb
220
- - test/pry_test.rb
221
- - test/quit_test.rb
222
- - test/reload_test.rb
223
- - test/restart_test.rb
224
- - test/save_test.rb
225
- - test/set_test.rb
226
- - test/show_test.rb
227
- - test/source_test.rb
228
- - test/stepping_test.rb
229
- - test/support/breakpoint.rb
257
+ - test/runner_test.rb
230
258
  - test/support/matchers.rb
231
259
  - test/support/test_interface.rb
232
260
  - test/support/utils.rb
233
261
  - test/test_helper.rb
234
- - test/thread_test.rb
235
- - test/trace_test.rb
236
- - test/variables_test.rb