byebug 3.2.0 → 3.3.0

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 (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