byebug 3.4.1 → 3.4.2
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/CHANGELOG.md +5 -0
- data/GUIDE.md +1 -1
- data/README.md +2 -5
- data/lib/byebug/helper.rb +20 -0
- data/lib/byebug/runner.rb +10 -25
- data/lib/byebug/version.rb +1 -1
- data/test/runner_test.rb +27 -18
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51062987a9c4c26728720d8416eb99354576fa00
|
4
|
+
data.tar.gz: 2c85de15d46650690562bc84533ad254890efb18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c6840103b5586afd62b89c16a28e512e73b4365734e4fc7e3c06f6e93f2563d7d9e255ef9bbe978b4557e9152c576e7800177a464f56ac93d5396a543ea18ba8
|
7
|
+
data.tar.gz: bf2fee35bad9a06b866f6350435ad81b7807f6d7b8e42394de54b22e9f82bdbe2244d2a6b124b300b311b1072426e0587081e523ec4b9e11f16b75780b70110f
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
# 3.4.2
|
2
|
+
* Fix #67, you can debug commands starting with `ruby` now, as in `byebug --
|
3
|
+
ruby -Itest test/controllers/posts_controller_test.rb -n test_should_get_index`
|
4
|
+
|
5
|
+
|
1
6
|
# 3.4.1
|
2
7
|
* Fix #54, you can use threads when "evaling" stuff now.
|
3
8
|
* Fix bug in list command where user could not list backwards if current
|
data/GUIDE.md
CHANGED
@@ -204,7 +204,7 @@ Pathname fail process_options trap
|
|
204
204
|
Rational fork public untrace_var
|
205
205
|
String format putc using
|
206
206
|
__callee__ gem puts warn
|
207
|
-
__dir__ gem_original_require raise
|
207
|
+
__dir__ gem_original_require raise
|
208
208
|
__method__ gets rand
|
209
209
|
` global_variables readline
|
210
210
|
abort include readlines
|
data/README.md
CHANGED
@@ -136,13 +136,10 @@ connected.
|
|
136
136
|
* [sublime_debugger][] provides a plugin for ruby debugging on Sublime Text.
|
137
137
|
|
138
138
|
|
139
|
-
##
|
139
|
+
## Contribute
|
140
140
|
|
141
|
-
|
142
|
-
* Add printers support.
|
143
|
-
* Support rubies other than MRI.
|
141
|
+
See [Getting Started with Development](CONTRIBUTING.md).
|
144
142
|
|
145
|
-
[Getting Started with Development](CONTRIBUTING.md)
|
146
143
|
|
147
144
|
## Credits
|
148
145
|
|
data/lib/byebug/helper.rb
CHANGED
@@ -1,4 +1,24 @@
|
|
1
1
|
module Byebug
|
2
|
+
module MiscUtils
|
3
|
+
#
|
4
|
+
# Cross-platform way of finding an executable in the $PATH.
|
5
|
+
# Borrowed from: http://stackoverflow.com/questions/2108727
|
6
|
+
#
|
7
|
+
def which(cmd)
|
8
|
+
return File.expand_path(cmd) if File.exist?(cmd)
|
9
|
+
|
10
|
+
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
11
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
12
|
+
exts.each do |ext|
|
13
|
+
exe = File.join(path, "#{cmd}#{ext}")
|
14
|
+
return exe if File.executable?(exe) && !File.directory?(exe)
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
2
22
|
#
|
3
23
|
# Miscelaneous Utilities
|
4
24
|
#
|
data/lib/byebug/runner.rb
CHANGED
@@ -28,40 +28,25 @@ module Byebug
|
|
28
28
|
Byebug.puts "#{status}\n#{status.backtrace}" if status
|
29
29
|
end
|
30
30
|
|
31
|
+
include MiscUtils
|
31
32
|
#
|
32
|
-
#
|
33
|
-
# can't find anything return prog_script.
|
34
|
-
#
|
35
|
-
def whence_file(prog_script)
|
36
|
-
if prog_script.index(File::SEPARATOR)
|
37
|
-
# Don't search since this name has path separator components
|
38
|
-
return prog_script
|
39
|
-
end
|
40
|
-
|
41
|
-
ENV['PATH'].split(File::PATH_SEPARATOR).each do |dirname|
|
42
|
-
prog_script_try = File.join(dirname, prog_script)
|
43
|
-
return prog_script_try if File.exist?(prog_script_try)
|
44
|
-
end
|
45
|
-
|
46
|
-
# Failure
|
47
|
-
prog_script
|
48
|
-
end
|
49
|
-
|
50
|
-
#
|
51
|
-
# Save path to program to be debugged
|
33
|
+
# Extracts path to program to be debugged from ARGV
|
52
34
|
#
|
53
35
|
# Used for restarts.
|
54
36
|
#
|
55
|
-
def
|
37
|
+
def debugged_program_from_argv
|
56
38
|
if ARGV.empty?
|
57
39
|
Byebug.puts 'You must specify a program to debug...'
|
58
40
|
abort
|
59
41
|
end
|
60
42
|
|
61
|
-
|
62
|
-
|
43
|
+
prog_script_try = which(ARGV.first)
|
44
|
+
if prog_script_try == which('ruby')
|
45
|
+
ARGV.shift
|
46
|
+
return which(ARGV.first)
|
47
|
+
end
|
63
48
|
|
64
|
-
|
49
|
+
prog_script_try
|
65
50
|
end
|
66
51
|
|
67
52
|
#
|
@@ -80,7 +65,7 @@ module Byebug
|
|
80
65
|
return
|
81
66
|
end
|
82
67
|
|
83
|
-
|
68
|
+
Byebug.debugged_program = debugged_program_from_argv
|
84
69
|
|
85
70
|
# Set up trace hook for byebug
|
86
71
|
Byebug.start
|
data/lib/byebug/version.rb
CHANGED
data/test/runner_test.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require 'byebug/runner'
|
2
2
|
|
3
3
|
module Byebug
|
4
|
-
|
5
4
|
class RunnerTest < TestCase
|
6
5
|
def setup
|
7
6
|
super
|
8
7
|
@old_argv = ARGV
|
8
|
+
@runner = Byebug::Runner.new
|
9
9
|
end
|
10
10
|
|
11
11
|
def after
|
@@ -14,14 +14,14 @@ module Byebug
|
|
14
14
|
|
15
15
|
def test_run_with_version_flag
|
16
16
|
ARGV.replace(%w(--version))
|
17
|
-
|
17
|
+
@runner.run
|
18
18
|
|
19
19
|
check_output_includes(/#{Byebug::VERSION}/)
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_run_with_help_flag
|
23
23
|
ARGV.replace(%w(--help))
|
24
|
-
|
24
|
+
@runner.run
|
25
25
|
|
26
26
|
check_output_includes(/-d.*-I.*-q.*-s.*-x.*-m.*-r.*-R.*-t.*-v.*-h/m)
|
27
27
|
end
|
@@ -29,7 +29,7 @@ module Byebug
|
|
29
29
|
def test_run_with_remote_option_only_with_a_port_number
|
30
30
|
ARGV.replace(%w(--remote 9999))
|
31
31
|
Byebug.expects(:start_client)
|
32
|
-
|
32
|
+
@runner.run
|
33
33
|
|
34
34
|
check_output_includes(/Connecting to byebug server localhost:9999/)
|
35
35
|
end
|
@@ -37,7 +37,7 @@ module Byebug
|
|
37
37
|
def test_run_with_remote_option_with_host_and_port_specification
|
38
38
|
ARGV.replace(%w(--remote myhost:9999))
|
39
39
|
Byebug.expects(:start_client)
|
40
|
-
|
40
|
+
@runner.run
|
41
41
|
|
42
42
|
check_output_includes(/Connecting to byebug server myhost:9999/)
|
43
43
|
end
|
@@ -45,7 +45,7 @@ module Byebug
|
|
45
45
|
def test_run_without_a_script_to_debug
|
46
46
|
ARGV.replace([])
|
47
47
|
|
48
|
-
assert_raises(SystemExit) {
|
48
|
+
assert_raises(SystemExit) { @runner.run }
|
49
49
|
|
50
50
|
check_output_includes(/You must specify a program to debug.../)
|
51
51
|
end
|
@@ -60,14 +60,23 @@ module Byebug
|
|
60
60
|
ARGV.replace(%w(my_script))
|
61
61
|
expect_it_debugs_script
|
62
62
|
|
63
|
-
|
63
|
+
@runner.run
|
64
|
+
end
|
65
|
+
|
66
|
+
def test_run_with_a_script_and_params_does_not_consume_script_params
|
67
|
+
ARGV.replace(%w(-- my_script -opt value))
|
68
|
+
expect_it_debugs_script
|
69
|
+
|
70
|
+
@runner.run
|
71
|
+
assert_equal %w(my_script -opt value), ARGV
|
64
72
|
end
|
65
73
|
|
66
|
-
def
|
67
|
-
ARGV.replace(%w(
|
74
|
+
def test_run_with_ruby_script_ruby_is_ignored_and_script_passed_instead
|
75
|
+
ARGV.replace(%w(-- ruby ruby_script))
|
76
|
+
expect_it_debugs_script
|
68
77
|
|
69
|
-
|
70
|
-
|
78
|
+
@runner.run
|
79
|
+
assert_equal %w(ruby_script), ARGV
|
71
80
|
end
|
72
81
|
|
73
82
|
def test_run_with_no_rc_option
|
@@ -76,14 +85,14 @@ module Byebug
|
|
76
85
|
Byebug::Runner.any_instance.expects(:debug_program)
|
77
86
|
Byebug.expects(:run_init_script).never
|
78
87
|
|
79
|
-
|
88
|
+
@runner.run
|
80
89
|
end
|
81
90
|
|
82
91
|
def test_run_with_post_mortem_mode_flag
|
83
92
|
ARGV.replace(%w(-m my_script))
|
84
93
|
expect_it_debugs_script
|
94
|
+
@runner.run
|
85
95
|
|
86
|
-
Byebug::Runner.new.run
|
87
96
|
assert_equal true, Byebug.post_mortem?
|
88
97
|
Byebug::Setting[:post_mortem] = false
|
89
98
|
end
|
@@ -91,8 +100,8 @@ module Byebug
|
|
91
100
|
def test_run_with_linetracing_flag
|
92
101
|
ARGV.replace(%w(-t my_script))
|
93
102
|
expect_it_debugs_script
|
103
|
+
@runner.run
|
94
104
|
|
95
|
-
Byebug::Runner.new.run
|
96
105
|
assert_equal true, Byebug.tracing?
|
97
106
|
Byebug::Setting[:linetrace] = false
|
98
107
|
end
|
@@ -100,16 +109,16 @@ module Byebug
|
|
100
109
|
def test_run_with_no_quit_flag
|
101
110
|
skip 'for now'
|
102
111
|
ARGV.replace(%w(--no-quit my_script))
|
112
|
+
@runner.run
|
103
113
|
|
104
|
-
Byebug::Runner.new.run
|
105
114
|
check_output_includes('(byebug:ctrl)')
|
106
115
|
end
|
107
116
|
|
108
117
|
def test_run_with_require_flag
|
109
118
|
ARGV.replace(%w(-r abbrev my_script))
|
110
119
|
expect_it_debugs_script
|
120
|
+
@runner.run
|
111
121
|
|
112
|
-
Byebug::Runner.new.run
|
113
122
|
hsh = { 'can' => 'can', 'cat' => 'cat' }
|
114
123
|
assert_equal hsh, %w(can cat).abbrev
|
115
124
|
end
|
@@ -117,16 +126,16 @@ module Byebug
|
|
117
126
|
def test_run_with_include_flag
|
118
127
|
ARGV.replace(%w(-I custom_dir my_script))
|
119
128
|
expect_it_debugs_script
|
129
|
+
@runner.run
|
120
130
|
|
121
|
-
Byebug::Runner.new.run
|
122
131
|
assert_includes $LOAD_PATH, 'custom_dir'
|
123
132
|
end
|
124
133
|
|
125
134
|
def test_run_with_debug_flag
|
126
135
|
ARGV.replace(%w(-d my_script))
|
127
136
|
expect_it_debugs_script
|
137
|
+
@runner.run
|
128
138
|
|
129
|
-
Byebug::Runner.new.run
|
130
139
|
assert_equal $DEBUG, true
|
131
140
|
$DEBUG = false
|
132
141
|
end
|
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.
|
4
|
+
version: 3.4.2
|
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-09-
|
13
|
+
date: 2014-09-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: columnize
|