byebug 2.1.1 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/CHANGELOG.md +9 -0
- data/CONTRIBUTING.md +13 -1
- data/GUIDE.md +181 -1
- data/README.md +67 -211
- data/Rakefile +1 -0
- data/bin/byebug +1 -8
- data/ext/byebug/byebug.c +66 -25
- data/ext/byebug/context.c +16 -20
- data/ext/byebug/extconf.rb +2 -1
- data/lib/byebug.rb +16 -9
- data/lib/byebug/command.rb +3 -3
- data/lib/byebug/commands/condition.rb +2 -2
- data/lib/byebug/commands/edit.rb +12 -9
- data/lib/byebug/commands/eval.rb +0 -16
- data/lib/byebug/commands/frame.rb +7 -17
- data/lib/byebug/commands/info.rb +2 -9
- data/lib/byebug/commands/list.rb +1 -1
- data/lib/byebug/commands/reload.rb +11 -0
- data/lib/byebug/commands/repl.rb +3 -6
- data/lib/byebug/commands/set.rb +5 -5
- data/lib/byebug/commands/show.rb +5 -0
- data/lib/byebug/commands/threads.rb +4 -4
- data/lib/byebug/commands/trace.rb +2 -1
- data/lib/byebug/context.rb +14 -5
- data/lib/byebug/interface.rb +1 -1
- data/lib/byebug/processor.rb +1 -1
- data/lib/byebug/remote.rb +1 -24
- data/lib/byebug/version.rb +1 -1
- data/old_doc/byebug.1 +0 -3
- data/old_doc/byebug.texi +2 -3
- data/test/breakpoints_test.rb +75 -52
- data/test/conditions_test.rb +2 -3
- data/test/continue_test.rb +6 -0
- data/test/edit_test.rb +3 -3
- data/test/eval_test.rb +14 -5
- data/test/examples/breakpoint.rb +4 -13
- data/test/examples/breakpoint_deep.rb +1 -21
- data/test/examples/conditions.rb +1 -1
- data/test/examples/continue.rb +2 -1
- data/test/examples/edit.rb +1 -0
- data/test/examples/eval.rb +1 -11
- data/test/examples/finish.rb +0 -17
- data/test/examples/frame.rb +2 -26
- data/test/examples/frame_deep.rb +0 -19
- data/test/examples/help.rb +0 -1
- data/test/examples/info.rb +4 -36
- data/test/examples/kill.rb +1 -1
- data/test/examples/list.rb +1 -1
- data/test/examples/method.rb +2 -13
- data/test/examples/post_mortem.rb +1 -16
- data/test/examples/quit.rb +1 -1
- data/test/examples/reload.rb +1 -1
- data/test/examples/restart.rb +1 -1
- data/test/examples/show.rb +0 -1
- data/test/examples/stepping.rb +2 -19
- data/test/examples/thread.rb +0 -27
- data/test/examples/variables.rb +0 -22
- data/test/finish_test.rb +22 -6
- data/test/frame_test.rb +89 -56
- data/test/info_test.rb +71 -46
- data/test/kill_test.rb +6 -1
- data/test/list_test.rb +1 -2
- data/test/method_test.rb +32 -13
- data/test/post_mortem_test.rb +34 -21
- data/test/quit_test.rb +0 -1
- data/test/restart_test.rb +6 -0
- data/test/set_test.rb +1 -1
- data/test/show_test.rb +17 -17
- data/test/source_test.rb +2 -3
- data/test/stepping_test.rb +31 -7
- data/test/support/test_dsl.rb +11 -1
- data/test/test_helper.rb +9 -0
- data/test/thread_test.rb +57 -23
- data/test/trace_test.rb +0 -1
- data/test/variables_test.rb +36 -17
- metadata +3 -9
- data/test/examples/breakpoint2.rb +0 -7
- data/test/examples/jump.rb +0 -14
- data/test/examples/set_annotate.rb +0 -12
data/test/kill_test.rb
CHANGED
@@ -1,7 +1,12 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class KillExample
|
4
|
+
def self.kill_me
|
5
|
+
'dieeee'
|
6
|
+
end
|
7
|
+
end
|
4
8
|
|
9
|
+
class TestKill < TestDsl::TestCase
|
5
10
|
it 'must send signal to some pid' do
|
6
11
|
Process.expects(:kill).with('USR1', Process.pid)
|
7
12
|
enter 'kill USR1'
|
data/test/list_test.rb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
3
|
class TestList < TestDsl::TestCase
|
4
|
-
|
5
4
|
describe 'listsize' do
|
6
5
|
it 'must show lines according to :listsize setting' do
|
7
6
|
enter 'break 5', 'cont'
|
@@ -108,7 +107,7 @@ class TestList < TestDsl::TestCase
|
|
108
107
|
debug_file 'list'
|
109
108
|
check_error_includes 'Invalid line range'
|
110
109
|
check_output_doesnt_include "[44, 44] in #{fullpath('list')}"
|
111
|
-
check_output_doesnt_include
|
110
|
+
check_output_doesnt_include(/^44 \S/)
|
112
111
|
end
|
113
112
|
|
114
113
|
it 'must show nothing if range is incorrect' do
|
data/test/method_test.rb
CHANGED
@@ -1,41 +1,58 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
|
+
class MethodExample
|
4
|
+
def initialize
|
5
|
+
@a = 'b'
|
6
|
+
@c = 'd'
|
7
|
+
end
|
8
|
+
def self.foo
|
9
|
+
"asdf"
|
10
|
+
end
|
11
|
+
def bla
|
12
|
+
"asdf"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
3
16
|
class TestMethod < TestDsl::TestCase
|
4
17
|
temporary_change_hash Byebug.settings, :autolist, 0
|
5
18
|
|
6
19
|
describe 'show instance method of a class' do
|
20
|
+
before { enter 'break 4', 'cont' }
|
21
|
+
|
7
22
|
it 'must show using full command name' do
|
8
|
-
enter '
|
23
|
+
enter 'method MethodExample'
|
9
24
|
debug_file 'method'
|
10
|
-
check_output_includes
|
11
|
-
check_output_doesnt_include
|
25
|
+
check_output_includes(/bla/)
|
26
|
+
check_output_doesnt_include(/foo/)
|
12
27
|
end
|
13
28
|
|
14
29
|
it 'must show using shortcut' do
|
15
|
-
enter '
|
30
|
+
enter 'm MethodExample'
|
16
31
|
debug_file 'method'
|
17
|
-
check_output_includes
|
32
|
+
check_output_includes(/bla/)
|
18
33
|
end
|
19
34
|
|
20
35
|
it 'must show an error if specified object is not a class or module' do
|
21
|
-
enter '
|
36
|
+
enter 'm a'
|
22
37
|
debug_file 'method'
|
23
38
|
check_output_includes 'Should be Class/Module: a'
|
24
39
|
end
|
25
40
|
end
|
26
41
|
|
27
42
|
describe 'show methods of an object' do
|
43
|
+
before { enter 'break 4', 'cont' }
|
44
|
+
|
28
45
|
it 'must show using full command name' do
|
29
|
-
enter '
|
46
|
+
enter 'method instance a'
|
30
47
|
debug_file 'method'
|
31
|
-
check_output_includes
|
32
|
-
check_output_doesnt_include
|
48
|
+
check_output_includes(/bla/)
|
49
|
+
check_output_doesnt_include(/foo/)
|
33
50
|
end
|
34
51
|
|
35
52
|
it 'must show using shortcut' do
|
36
|
-
enter '
|
53
|
+
enter 'm i a'
|
37
54
|
debug_file 'method'
|
38
|
-
check_output_includes
|
55
|
+
check_output_includes(/bla/)
|
39
56
|
end
|
40
57
|
end
|
41
58
|
|
@@ -46,14 +63,16 @@ class TestMethod < TestDsl::TestCase
|
|
46
63
|
end
|
47
64
|
|
48
65
|
describe 'show instance variables of an object' do
|
66
|
+
before { enter 'break 4', 'cont' }
|
67
|
+
|
49
68
|
it 'must show using full name command' do
|
50
|
-
enter '
|
69
|
+
enter 'method iv a'
|
51
70
|
debug_file 'method'
|
52
71
|
check_output_includes '@a = "b"', '@c = "d"'
|
53
72
|
end
|
54
73
|
|
55
74
|
it 'must show using shortcut' do
|
56
|
-
enter '
|
75
|
+
enter 'm iv a'
|
57
76
|
debug_file 'method'
|
58
77
|
check_output_includes '@a = "b"', '@c = "d"'
|
59
78
|
end
|
data/test/post_mortem_test.rb
CHANGED
@@ -1,25 +1,38 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class PostMortemExample
|
4
|
+
def a
|
5
|
+
begin
|
6
|
+
Byebug.post_mortem do
|
7
|
+
z = 4
|
8
|
+
raise 'blabla'
|
9
|
+
x = 6
|
10
|
+
x + z
|
11
|
+
end
|
12
|
+
rescue => e
|
13
|
+
e
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
4
17
|
|
18
|
+
class TestPostMortem < TestDsl::TestCase
|
5
19
|
describe 'Features' do
|
20
|
+
before { enter 'cont' }
|
21
|
+
|
6
22
|
it 'must enter into post-mortem mode' do
|
7
|
-
enter 'cont'
|
8
23
|
debug_file('post_mortem') { Byebug.post_mortem?.must_equal true }
|
9
24
|
end
|
10
25
|
|
11
26
|
it 'must stop at the correct line' do
|
12
|
-
enter 'cont'
|
13
27
|
debug_file('post_mortem') { $state.line.must_equal 8 }
|
14
28
|
end
|
15
29
|
|
16
30
|
it 'must exit from post-mortem mode after stepping command' do
|
17
|
-
enter
|
31
|
+
enter "break #{__FILE__}:13", 'cont'
|
18
32
|
debug_file('post_mortem') { Byebug.post_mortem?.must_equal false }
|
19
33
|
end
|
20
34
|
|
21
35
|
it 'must save the raised exception' do
|
22
|
-
enter 'cont'
|
23
36
|
debug_file('post_mortem') {
|
24
37
|
Byebug.last_exception.must_be_kind_of RuntimeError }
|
25
38
|
end
|
@@ -76,23 +89,23 @@ class TestPostMortem < TestDsl::TestCase
|
|
76
89
|
it 'must work in post-mortem mode' do
|
77
90
|
enter 'cont', 'frame'
|
78
91
|
debug_file('post_mortem') { $state.line.must_equal 8 }
|
79
|
-
check_output_includes
|
80
|
-
/--> #0 block in
|
92
|
+
check_output_includes(
|
93
|
+
/--> #0 block in PostMortemExample\.a\s+at #{__FILE__}:8/)
|
81
94
|
end
|
82
95
|
end
|
83
96
|
|
84
97
|
describe 'condition' do
|
85
98
|
it 'must be able to set conditions in post-mortem mode' do
|
86
|
-
enter 'cont',
|
99
|
+
enter 'cont', "break #{__FILE__}:13",
|
87
100
|
->{ "cond #{Byebug.breakpoints.first.id} true" }, 'cont'
|
88
|
-
debug_file('post_mortem') { $state.line.must_equal
|
101
|
+
debug_file('post_mortem') { $state.line.must_equal 13 }
|
89
102
|
end
|
90
103
|
end
|
91
104
|
|
92
105
|
describe 'break' do
|
93
106
|
it 'must be able to set breakpoints in post-mortem mode' do
|
94
|
-
enter 'cont',
|
95
|
-
debug_file('post_mortem') { $state.line.must_equal
|
107
|
+
enter 'cont', "break #{__FILE__}:13",
|
108
|
+
debug_file('post_mortem') { $state.line.must_equal 13 }
|
96
109
|
end
|
97
110
|
end
|
98
111
|
|
@@ -105,15 +118,15 @@ class TestPostMortem < TestDsl::TestCase
|
|
105
118
|
end
|
106
119
|
|
107
120
|
describe 'reload' do
|
108
|
-
after { change_line_in_file(@tst_file,
|
121
|
+
after { change_line_in_file(@tst_file, 4, 'c.a') }
|
109
122
|
|
110
123
|
it 'must work in post-mortem mode' do
|
111
124
|
enter 'cont', -> do
|
112
|
-
change_line_in_file(@tst_file,
|
125
|
+
change_line_in_file(@tst_file, 4, 'bo = BasicObject.new')
|
113
126
|
'reload'
|
114
|
-
end, 'l
|
127
|
+
end, 'up 3', 'l 4-4'
|
115
128
|
debug_file 'post_mortem'
|
116
|
-
check_output_includes '
|
129
|
+
check_output_includes '=> 4: bo = BasicObject.new'
|
117
130
|
end
|
118
131
|
end
|
119
132
|
|
@@ -132,7 +145,7 @@ class TestPostMortem < TestDsl::TestCase
|
|
132
145
|
it 'must work in post-mortem mode' do
|
133
146
|
enter 'cont', 'info line'
|
134
147
|
debug_file 'post_mortem'
|
135
|
-
check_output_includes "Line 8 of \"#{
|
148
|
+
check_output_includes "Line 8 of \"#{__FILE__}\""
|
136
149
|
end
|
137
150
|
end
|
138
151
|
|
@@ -141,8 +154,8 @@ class TestPostMortem < TestDsl::TestCase
|
|
141
154
|
|
142
155
|
it 'must work in post-mortem mode' do
|
143
156
|
irb.stubs(:eval_input).throws(:IRB_EXIT, :cont)
|
144
|
-
enter 'cont', 'break
|
145
|
-
debug_file('post_mortem') { $state.line.must_equal
|
157
|
+
enter 'cont', 'break 13', 'irb'
|
158
|
+
debug_file('post_mortem') { $state.line.must_equal 13 }
|
146
159
|
end
|
147
160
|
end
|
148
161
|
|
@@ -181,7 +194,7 @@ class TestPostMortem < TestDsl::TestCase
|
|
181
194
|
it 'must work in post-mortem mode' do
|
182
195
|
enter 'cont'
|
183
196
|
debug_file 'post_mortem'
|
184
|
-
check_output_includes "[3, 12] in #{
|
197
|
+
check_output_includes "[3, 12] in #{__FILE__}"
|
185
198
|
end
|
186
199
|
end
|
187
200
|
|
@@ -189,7 +202,7 @@ class TestPostMortem < TestDsl::TestCase
|
|
189
202
|
it 'must work in post-mortem mode' do
|
190
203
|
enter 'cont', 'm i self'
|
191
204
|
debug_file 'post_mortem'
|
192
|
-
check_output_includes
|
205
|
+
check_output_includes(/to_s/)
|
193
206
|
end
|
194
207
|
end
|
195
208
|
|
@@ -251,7 +264,7 @@ class TestPostMortem < TestDsl::TestCase
|
|
251
264
|
it "must work in post-mortem mode" do
|
252
265
|
enter 'cont', 'thread list'
|
253
266
|
debug_file('post_mortem')
|
254
|
-
check_output_includes
|
267
|
+
check_output_includes(/\+ \d+ #<Thread:(\S+) run/)
|
255
268
|
end
|
256
269
|
end
|
257
270
|
end
|
data/test/quit_test.rb
CHANGED
data/test/restart_test.rb
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
|
+
class RestartExample
|
4
|
+
def concat_args(a, b, c)
|
5
|
+
a.to_s + b.to_s + c.to_s
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
3
9
|
class TestRestart < TestDsl::TestCase
|
4
10
|
describe 'usual restarting' do
|
5
11
|
temporary_change_const Byebug, 'BYEBUG_SCRIPT', 'byebug_script'
|
data/test/set_test.rb
CHANGED
@@ -184,7 +184,7 @@ class TestSet < TestDsl::TestCase
|
|
184
184
|
it 'must show help when typing just "set"' do
|
185
185
|
enter 'set', 'cont'
|
186
186
|
debug_file 'set'
|
187
|
-
check_output_includes
|
187
|
+
check_output_includes(/List of "set" subcommands:/)
|
188
188
|
end
|
189
189
|
end
|
190
190
|
end
|
data/test/show_test.rb
CHANGED
@@ -9,7 +9,7 @@ class TestShow < TestDsl::TestCase
|
|
9
9
|
enter 'show args'
|
10
10
|
debug_file 'show'
|
11
11
|
check_output_includes 'Argument list to give program being debugged ' \
|
12
|
-
|
12
|
+
'when it is started is "foo bar".'
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
@@ -160,16 +160,16 @@ class TestShow < TestDsl::TestCase
|
|
160
160
|
end
|
161
161
|
|
162
162
|
it 'must show history file' do
|
163
|
-
check_output_includes
|
164
|
-
/filename: The command history file is "hist_file\.txt"/
|
163
|
+
check_output_includes(
|
164
|
+
/filename: The command history file is "hist_file\.txt"/)
|
165
165
|
end
|
166
166
|
|
167
167
|
it 'must show history save setting' do
|
168
|
-
check_output_includes
|
168
|
+
check_output_includes(/save: Saving of history save is on\./)
|
169
169
|
end
|
170
170
|
|
171
171
|
it 'must show history length' do
|
172
|
-
check_output_includes
|
172
|
+
check_output_includes(/size: Byebug history size is 25/)
|
173
173
|
end
|
174
174
|
end
|
175
175
|
|
@@ -217,8 +217,8 @@ class TestShow < TestDsl::TestCase
|
|
217
217
|
it 'must show records from readline history' do
|
218
218
|
enter 'show commands'
|
219
219
|
debug_file 'show'
|
220
|
-
check_output_includes
|
221
|
-
check_output_includes
|
220
|
+
check_output_includes(/1 aaa/)
|
221
|
+
check_output_includes(/6 fff/)
|
222
222
|
end
|
223
223
|
end
|
224
224
|
|
@@ -228,9 +228,9 @@ class TestShow < TestDsl::TestCase
|
|
228
228
|
it 'must show last 10 records from readline history' do
|
229
229
|
enter 'show commands'
|
230
230
|
debug_file 'show'
|
231
|
-
check_output_doesnt_include
|
232
|
-
check_output_includes
|
233
|
-
check_output_includes
|
231
|
+
check_output_doesnt_include(/3 ddd/)
|
232
|
+
check_output_includes(/4 eee/)
|
233
|
+
check_output_includes(/13 nnn/)
|
234
234
|
end
|
235
235
|
end
|
236
236
|
|
@@ -241,17 +241,17 @@ class TestShow < TestDsl::TestCase
|
|
241
241
|
# Really don't know why it substracts 4, and shows starting from position 6
|
242
242
|
enter 'show commands 10'
|
243
243
|
debug_file 'show'
|
244
|
-
check_output_doesnt_include
|
245
|
-
check_output_includes
|
246
|
-
check_output_includes
|
244
|
+
check_output_doesnt_include(/5 fff/)
|
245
|
+
check_output_includes(/6 ggg/)
|
246
|
+
check_output_includes(/13 nnn/)
|
247
247
|
end
|
248
248
|
|
249
249
|
it 'must adjust first line if it is < 0' do
|
250
250
|
enter 'show commands 3'
|
251
251
|
debug_file 'show'
|
252
|
-
check_output_includes
|
253
|
-
check_output_includes
|
254
|
-
check_output_doesnt_include
|
252
|
+
check_output_includes(/1 bbb/)
|
253
|
+
check_output_includes(/8 iii/)
|
254
|
+
check_output_doesnt_include(/9 jjj/)
|
255
255
|
end
|
256
256
|
end
|
257
257
|
end
|
@@ -261,7 +261,7 @@ class TestShow < TestDsl::TestCase
|
|
261
261
|
it 'must show help when typing just "show"' do
|
262
262
|
enter 'show', 'cont'
|
263
263
|
debug_file 'show'
|
264
|
-
check_output_includes
|
264
|
+
check_output_includes(/List of "show" subcommands:/)
|
265
265
|
end
|
266
266
|
end
|
267
267
|
end
|
data/test/source_test.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
3
|
class TestSource < TestDsl::TestCase
|
4
|
+
let(:filename) { 'source_example.txt' }
|
4
5
|
|
5
6
|
before { File.open(filename, 'w') do |f|
|
6
7
|
f.puts 'break 2'
|
@@ -9,8 +10,6 @@ class TestSource < TestDsl::TestCase
|
|
9
10
|
|
10
11
|
after { FileUtils.rm(filename) }
|
11
12
|
|
12
|
-
let(:filename) { 'source_example.txt' }
|
13
|
-
|
14
13
|
it 'must run commands from file' do
|
15
14
|
enter "source #{filename}"
|
16
15
|
debug_file 'source' do
|
@@ -28,7 +27,7 @@ class TestSource < TestDsl::TestCase
|
|
28
27
|
it 'must show an error if file is not found' do
|
29
28
|
enter 'source blabla'
|
30
29
|
debug_file 'source'
|
31
|
-
check_error_includes
|
30
|
+
check_error_includes(/File ".*blabla" not found/)
|
32
31
|
end
|
33
32
|
|
34
33
|
describe 'Help' do
|
data/test/stepping_test.rb
CHANGED
@@ -1,11 +1,27 @@
|
|
1
1
|
require_relative 'test_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class SteppingExample
|
4
|
+
def self.a(num)
|
5
|
+
num += 2
|
6
|
+
b(num)
|
7
|
+
end
|
8
|
+
|
9
|
+
def self.b(num)
|
10
|
+
v2 = 5 if 1 == num ; [1, 2, v2].map { |a| a.to_f }
|
11
|
+
c(num)
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.c(num)
|
15
|
+
num += 4
|
16
|
+
num
|
17
|
+
end
|
18
|
+
end
|
4
19
|
|
20
|
+
class TestStepping < TestDsl::TestCase
|
5
21
|
describe 'Next Command' do
|
6
22
|
|
7
23
|
describe 'method call behaviour' do
|
8
|
-
before { enter
|
24
|
+
before { enter "break #{__FILE__}:10", 'cont' }
|
9
25
|
|
10
26
|
it 'must leave on the same line by default' do
|
11
27
|
enter 'next'
|
@@ -40,6 +56,14 @@ class TestStepping < TestDsl::TestCase
|
|
40
56
|
debug_file('stepping') { $state.line.must_equal 21 }
|
41
57
|
end
|
42
58
|
|
59
|
+
it 'must inform when not staying in the same frame' do
|
60
|
+
enter 'next 2'
|
61
|
+
debug_file('stepping')
|
62
|
+
check_output_includes \
|
63
|
+
'Next went up a frame because previous frame finished'
|
64
|
+
end
|
65
|
+
|
66
|
+
|
43
67
|
it 'must ignore it if "minus" is specified' do
|
44
68
|
enter 'next-'
|
45
69
|
debug_file('stepping') { $state.line.must_equal 10 }
|
@@ -48,11 +72,11 @@ class TestStepping < TestDsl::TestCase
|
|
48
72
|
end
|
49
73
|
|
50
74
|
describe 'block behaviour' do
|
51
|
-
before { enter 'break
|
75
|
+
before { enter 'break 4', 'cont' }
|
52
76
|
|
53
77
|
it 'must step over blocks' do
|
54
78
|
enter 'next'
|
55
|
-
debug_file('stepping') { $state.line.must_equal
|
79
|
+
debug_file('stepping') { $state.line.must_equal 8 }
|
56
80
|
end
|
57
81
|
end
|
58
82
|
end
|
@@ -60,7 +84,7 @@ class TestStepping < TestDsl::TestCase
|
|
60
84
|
describe 'Step Command' do
|
61
85
|
|
62
86
|
describe 'method call behaviour' do
|
63
|
-
before { enter
|
87
|
+
before { enter "break #{__FILE__}:10", 'cont' }
|
64
88
|
|
65
89
|
it 'must leave on the same line if forced by a setting' do
|
66
90
|
enter 'step'
|
@@ -98,11 +122,11 @@ class TestStepping < TestDsl::TestCase
|
|
98
122
|
end
|
99
123
|
|
100
124
|
describe 'block behaviour' do
|
101
|
-
before { enter 'break
|
125
|
+
before { enter 'break 4', 'cont' }
|
102
126
|
|
103
127
|
it 'must step into blocks' do
|
104
128
|
enter 'step'
|
105
|
-
debug_file('stepping') { $state.line.must_equal
|
129
|
+
debug_file('stepping') { $state.line.must_equal 5 }
|
106
130
|
end
|
107
131
|
end
|
108
132
|
end
|