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.
- checksums.yaml +4 -4
- data/.rubocop.yml +3 -0
- data/CHANGELOG.md +125 -99
- data/CONTRIBUTING.md +4 -6
- data/GUIDE.md +42 -20
- data/Gemfile +5 -3
- data/README.md +2 -3
- data/Rakefile +11 -7
- data/bin/byebug +2 -252
- data/byebug.gemspec +7 -4
- data/ext/byebug/byebug.c +17 -18
- data/ext/byebug/byebug.h +4 -5
- data/ext/byebug/context.c +37 -39
- data/ext/byebug/threads.c +39 -18
- data/lib/byebug.rb +2 -110
- data/lib/byebug/attacher.rb +23 -0
- data/lib/byebug/breakpoint.rb +60 -0
- data/lib/byebug/command.rb +62 -70
- data/lib/byebug/commands/break.rb +24 -24
- data/lib/byebug/commands/catchpoint.rb +18 -10
- data/lib/byebug/commands/condition.rb +18 -17
- data/lib/byebug/commands/continue.rb +17 -9
- data/lib/byebug/commands/delete.rb +19 -13
- data/lib/byebug/commands/display.rb +19 -53
- data/lib/byebug/commands/edit.rb +7 -4
- data/lib/byebug/commands/enable_disable.rb +130 -0
- data/lib/byebug/commands/eval.rb +40 -22
- data/lib/byebug/commands/finish.rb +13 -4
- data/lib/byebug/commands/frame.rb +65 -45
- data/lib/byebug/commands/help.rb +17 -18
- data/lib/byebug/commands/history.rb +14 -8
- data/lib/byebug/commands/info.rb +160 -182
- data/lib/byebug/commands/interrupt.rb +4 -1
- data/lib/byebug/commands/irb.rb +30 -0
- data/lib/byebug/commands/kill.rb +7 -8
- data/lib/byebug/commands/list.rb +71 -66
- data/lib/byebug/commands/method.rb +14 -6
- data/lib/byebug/commands/pry.rb +35 -0
- data/lib/byebug/commands/quit.rb +9 -6
- data/lib/byebug/commands/reload.rb +5 -2
- data/lib/byebug/commands/restart.rb +13 -9
- data/lib/byebug/commands/save.rb +17 -17
- data/lib/byebug/commands/set.rb +16 -15
- data/lib/byebug/commands/show.rb +10 -11
- data/lib/byebug/commands/source.rb +11 -5
- data/lib/byebug/commands/stepping.rb +38 -24
- data/lib/byebug/commands/threads.rb +45 -31
- data/lib/byebug/commands/trace.rb +22 -9
- data/lib/byebug/commands/undisplay.rb +45 -0
- data/lib/byebug/commands/variables.rb +83 -27
- data/lib/byebug/context.rb +25 -22
- data/lib/byebug/core.rb +82 -0
- data/lib/byebug/helper.rb +37 -28
- data/lib/byebug/history.rb +8 -4
- data/lib/byebug/interface.rb +12 -17
- data/lib/byebug/interfaces/local_interface.rb +11 -8
- data/lib/byebug/interfaces/remote_interface.rb +11 -8
- data/lib/byebug/interfaces/script_interface.rb +9 -6
- data/lib/byebug/options.rb +46 -0
- data/lib/byebug/processor.rb +7 -1
- data/lib/byebug/processors/command_processor.rb +135 -125
- data/lib/byebug/processors/control_command_processor.rb +23 -23
- data/lib/byebug/remote.rb +17 -26
- data/lib/byebug/runner.rb +100 -0
- data/lib/byebug/setting.rb +33 -8
- data/lib/byebug/settings/autoeval.rb +5 -15
- data/lib/byebug/settings/autoirb.rb +4 -1
- data/lib/byebug/settings/autolist.rb +5 -2
- data/lib/byebug/settings/autoreload.rb +5 -2
- data/lib/byebug/settings/autosave.rb +6 -2
- data/lib/byebug/settings/basename.rb +7 -2
- data/lib/byebug/settings/callstyle.rb +4 -1
- data/lib/byebug/settings/forcestep.rb +6 -3
- data/lib/byebug/settings/fullpath.rb +5 -2
- data/lib/byebug/settings/histfile.rb +5 -3
- data/lib/byebug/settings/histsize.rb +5 -3
- data/lib/byebug/settings/linetrace.rb +4 -1
- data/lib/byebug/settings/listsize.rb +5 -1
- data/lib/byebug/settings/post_mortem.rb +21 -13
- data/lib/byebug/settings/stack_on_error.rb +6 -2
- data/lib/byebug/settings/testing.rb +6 -1
- data/lib/byebug/settings/tracing_plus.rb +5 -1
- data/lib/byebug/settings/verbose.rb +13 -2
- data/lib/byebug/settings/width.rb +4 -1
- data/lib/byebug/version.rb +1 -1
- data/test/{break_test.rb → commands/break_test.rb} +41 -53
- data/test/{condition_test.rb → commands/condition_test.rb} +14 -14
- data/test/{continue_test.rb → commands/continue_test.rb} +0 -0
- data/test/{delete_test.rb → commands/delete_test.rb} +2 -2
- data/test/commands/display_test.rb +37 -0
- data/test/{edit_test.rb → commands/edit_test.rb} +0 -0
- data/test/{eval_test.rb → commands/eval_test.rb} +1 -0
- data/test/{finish_test.rb → commands/finish_test.rb} +11 -1
- data/test/{frame_test.rb → commands/frame_test.rb} +12 -16
- data/test/{help_test.rb → commands/help_test.rb} +21 -4
- data/test/{history_test.rb → commands/history_test.rb} +0 -0
- data/test/{info_test.rb → commands/info_test.rb} +5 -55
- data/test/{interrupt_test.rb → commands/interrupt_test.rb} +0 -0
- data/test/commands/irb_test.rb +28 -0
- data/test/{kill_test.rb → commands/kill_test.rb} +1 -1
- data/test/{list_test.rb → commands/list_test.rb} +1 -1
- data/test/{method_test.rb → commands/method_test.rb} +0 -0
- data/test/{post_mortem_test.rb → commands/post_mortem_test.rb} +6 -10
- data/test/{pry_test.rb → commands/pry_test.rb} +4 -13
- data/test/{quit_test.rb → commands/quit_test.rb} +4 -4
- data/test/{reload_test.rb → commands/reload_test.rb} +0 -0
- data/test/{restart_test.rb → commands/restart_test.rb} +6 -0
- data/test/{save_test.rb → commands/save_test.rb} +2 -2
- data/test/{set_test.rb → commands/set_test.rb} +9 -2
- data/test/{show_test.rb → commands/show_test.rb} +1 -1
- data/test/{source_test.rb → commands/source_test.rb} +3 -3
- data/test/{stepping_test.rb → commands/stepping_test.rb} +44 -35
- data/test/{thread_test.rb → commands/thread_test.rb} +0 -0
- data/test/{trace_test.rb → commands/trace_test.rb} +0 -0
- data/test/{display_test.rb → commands/undisplay_test.rb} +7 -45
- data/test/{variables_test.rb → commands/variables_test.rb} +10 -1
- data/test/debugger_alias_test.rb +2 -2
- data/test/runner_test.rb +127 -0
- data/test/support/matchers.rb +27 -25
- data/test/support/test_interface.rb +9 -5
- data/test/support/utils.rb +96 -101
- data/test/test_helper.rb +32 -20
- metadata +93 -68
- data/lib/byebug/commands/enable.rb +0 -154
- data/lib/byebug/commands/repl.rb +0 -126
- data/test/irb_test.rb +0 -47
- data/test/support/breakpoint.rb +0 -13
data/test/support/matchers.rb
CHANGED
@@ -1,37 +1,38 @@
|
|
1
|
-
module Minitest
|
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
|
-
#
|
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
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
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
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
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
|
-
|
29
|
+
private
|
30
30
|
|
31
|
-
def
|
31
|
+
def _includes_in_order(original_collection, given_collection)
|
32
32
|
result = true
|
33
33
|
given_collection.each do |given_item|
|
34
|
-
result &&=
|
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,
|
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
|
19
|
+
@error_queue.push(*args)
|
16
20
|
end
|
17
21
|
|
18
|
-
def read_command(*
|
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
|
31
|
-
@output_queue
|
34
|
+
def puts(*args)
|
35
|
+
@output_queue.push(*args)
|
32
36
|
end
|
33
37
|
|
34
38
|
def confirm(message)
|
data/test/support/utils.rb
CHANGED
@@ -1,119 +1,114 @@
|
|
1
1
|
require_relative 'matchers'
|
2
2
|
require_relative 'test_interface'
|
3
3
|
|
4
|
-
module Byebug
|
4
|
+
module Byebug
|
5
5
|
#
|
6
|
-
#
|
7
|
-
# Processor, i.e., it emulates user's input.
|
6
|
+
# Misc tools for the test suite
|
8
7
|
#
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
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
|
-
|
76
|
-
|
77
|
-
|
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
|
-
|
80
|
-
|
81
|
-
|
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
|
-
|
84
|
-
|
85
|
-
|
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
|
-
|
88
|
-
|
89
|
-
|
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
|
-
|
92
|
-
|
93
|
-
|
85
|
+
def interface
|
86
|
+
Byebug.handler.interface
|
87
|
+
end
|
94
88
|
|
95
|
-
|
96
|
-
|
97
|
-
|
89
|
+
def state
|
90
|
+
Thread.current.thread_variable_get('state')
|
91
|
+
end
|
98
92
|
|
99
|
-
|
100
|
-
|
101
|
-
|
93
|
+
def context
|
94
|
+
state.context
|
95
|
+
end
|
102
96
|
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
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
|
-
|
109
|
-
|
110
|
-
|
102
|
+
def force_unset_const(klass, const)
|
103
|
+
klass.send(:remove_const, const) if klass.const_defined?(const)
|
104
|
+
end
|
111
105
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
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
|
data/test/test_helper.rb
CHANGED
@@ -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
|
-
|
16
|
+
module Byebug
|
14
17
|
#
|
15
|
-
#
|
18
|
+
# Extends Minitest's base test case and provides defaults for all tests
|
16
19
|
#
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
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
|
-
|
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
|
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.
|
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-
|
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/
|
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/
|
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.
|
220
|
+
rubygems_version: 2.4.1
|
197
221
|
signing_key:
|
198
222
|
specification_version: 4
|
199
|
-
summary: Ruby 2.0 fast debugger - base +
|
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/
|
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
|