byebug 3.0.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (125) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -0
  3. data/GUIDE.md +2 -2
  4. data/LICENSE +3 -3
  5. data/README.md +5 -4
  6. data/byebug.gemspec +1 -1
  7. data/ext/byebug/byebug.c +20 -19
  8. data/lib/byebug.rb +2 -53
  9. data/lib/byebug/command.rb +9 -109
  10. data/lib/byebug/commands/breakpoints.rb +1 -1
  11. data/lib/byebug/commands/control.rb +20 -21
  12. data/lib/byebug/commands/display.rb +2 -3
  13. data/lib/byebug/commands/eval.rb +6 -16
  14. data/lib/byebug/commands/finish.rb +1 -1
  15. data/lib/byebug/commands/frame.rb +9 -9
  16. data/lib/byebug/commands/help.rb +2 -3
  17. data/lib/byebug/commands/history.rb +28 -0
  18. data/lib/byebug/commands/info.rb +3 -3
  19. data/lib/byebug/commands/list.rb +2 -13
  20. data/lib/byebug/commands/method.rb +5 -45
  21. data/lib/byebug/commands/reload.rb +1 -12
  22. data/lib/byebug/commands/repl.rb +6 -15
  23. data/lib/byebug/commands/save.rb +2 -7
  24. data/lib/byebug/commands/set.rb +45 -116
  25. data/lib/byebug/commands/show.rb +22 -126
  26. data/lib/byebug/commands/stepping.rb +1 -1
  27. data/lib/byebug/commands/trace.rb +14 -25
  28. data/lib/byebug/commands/variables.rb +3 -41
  29. data/lib/byebug/helper.rb +11 -42
  30. data/lib/byebug/history.rb +5 -13
  31. data/lib/byebug/processors/command_processor.rb +6 -6
  32. data/lib/byebug/setting.rb +82 -0
  33. data/lib/byebug/settings/autoeval.rb +20 -0
  34. data/lib/byebug/settings/autoirb.rb +19 -0
  35. data/lib/byebug/settings/autolist.rb +19 -0
  36. data/lib/byebug/settings/autoreload.rb +11 -0
  37. data/lib/byebug/settings/autosave.rb +11 -0
  38. data/lib/byebug/settings/basename.rb +7 -0
  39. data/lib/byebug/settings/callstyle.rb +15 -0
  40. data/lib/byebug/settings/forcestep.rb +11 -0
  41. data/lib/byebug/settings/fullpath.rb +11 -0
  42. data/lib/byebug/settings/histfile.rb +16 -0
  43. data/lib/byebug/settings/histsize.rb +18 -0
  44. data/lib/byebug/settings/linetrace.rb +15 -0
  45. data/lib/byebug/settings/listsize.rb +15 -0
  46. data/lib/byebug/settings/post_mortem.rb +15 -0
  47. data/lib/byebug/settings/stack_on_error.rb +7 -0
  48. data/lib/byebug/settings/testing.rb +7 -0
  49. data/lib/byebug/settings/tracing_plus.rb +7 -0
  50. data/lib/byebug/settings/verbose.rb +7 -0
  51. data/lib/byebug/settings/width.rb +29 -0
  52. data/lib/byebug/version.rb +1 -1
  53. data/test/breakpoints_test.rb +345 -324
  54. data/test/conditions_test.rb +61 -48
  55. data/test/continue_test.rb +38 -27
  56. data/test/debugger_alias_test.rb +5 -3
  57. data/test/display_test.rb +103 -92
  58. data/test/edit_test.rb +42 -34
  59. data/test/eval_test.rb +91 -75
  60. data/test/finish_test.rb +51 -40
  61. data/test/frame_test.rb +197 -184
  62. data/test/help_test.rb +47 -38
  63. data/test/history_test.rb +54 -0
  64. data/test/info_test.rb +306 -293
  65. data/test/interrupt_test.rb +44 -38
  66. data/test/kill_test.rb +40 -31
  67. data/test/list_test.rb +166 -133
  68. data/test/method_test.rb +67 -60
  69. data/test/post_mortem_test.rb +56 -48
  70. data/test/quit_test.rb +44 -35
  71. data/test/reload_test.rb +36 -24
  72. data/test/repl_test.rb +57 -47
  73. data/test/restart_test.rb +56 -69
  74. data/test/save_test.rb +62 -53
  75. data/test/set_test.rb +140 -118
  76. data/test/show_test.rb +68 -201
  77. data/test/source_test.rb +39 -29
  78. data/test/stepping_test.rb +163 -136
  79. data/test/support/test_dsl.rb +9 -11
  80. data/test/test_helper.rb +2 -7
  81. data/test/thread_test.rb +121 -107
  82. data/test/trace_test.rb +86 -83
  83. data/test/variables_test.rb +104 -98
  84. metadata +27 -86
  85. data/test/examples/breakpoint.rb +0 -6
  86. data/test/examples/breakpoint_deep.rb +0 -4
  87. data/test/examples/conditions.rb +0 -4
  88. data/test/examples/continue.rb +0 -5
  89. data/test/examples/display.rb +0 -5
  90. data/test/examples/edit.rb +0 -4
  91. data/test/examples/eval.rb +0 -4
  92. data/test/examples/finish.rb +0 -3
  93. data/test/examples/frame.rb +0 -4
  94. data/test/examples/frame_deep.rb +0 -1
  95. data/test/examples/gcd.rb +0 -15
  96. data/test/examples/hanoi.rb +0 -34
  97. data/test/examples/help.rb +0 -1
  98. data/test/examples/info.rb +0 -6
  99. data/test/examples/info2.rb +0 -3
  100. data/test/examples/interrupt.rb +0 -8
  101. data/test/examples/kill.rb +0 -2
  102. data/test/examples/list.rb +0 -23
  103. data/test/examples/method.rb +0 -4
  104. data/test/examples/post_mortem.rb +0 -4
  105. data/test/examples/primes.rb +0 -25
  106. data/test/examples/quit.rb +0 -2
  107. data/test/examples/reload.rb +0 -6
  108. data/test/examples/repl.rb +0 -6
  109. data/test/examples/restart.rb +0 -6
  110. data/test/examples/save.rb +0 -3
  111. data/test/examples/set.rb +0 -3
  112. data/test/examples/settings.rb +0 -1
  113. data/test/examples/show.rb +0 -1
  114. data/test/examples/source.rb +0 -3
  115. data/test/examples/stepping.rb +0 -8
  116. data/test/examples/stepping_raise_from_c_method.rb +0 -3
  117. data/test/examples/stepping_raise_from_ruby_method.rb +0 -3
  118. data/test/examples/test-triangle.rb +0 -14
  119. data/test/examples/thread.rb +0 -5
  120. data/test/examples/tmate.rb +0 -10
  121. data/test/examples/trace.rb +0 -8
  122. data/test/examples/tri3.rb +0 -6
  123. data/test/examples/triangle.rb +0 -13
  124. data/test/examples/variables.rb +0 -4
  125. data/test/timeout_test.rb +0 -9
@@ -1,4 +0,0 @@
1
- byebug
2
-
3
- @foo = EvalTest.new
4
- @foo.sum(1, 2)
@@ -1,3 +0,0 @@
1
- byebug
2
-
3
- FinishExample.new.a
@@ -1,4 +0,0 @@
1
- byebug
2
-
3
- fr_ex = FrameExample.new('f')
4
- fr_ex.a()
@@ -1 +0,0 @@
1
- FrameDeepExample.new.a
@@ -1,15 +0,0 @@
1
- # Greatest common divisor of a and b
2
- def gcd a, b
3
- x = [a,b].max
4
- y = [a,b].min
5
-
6
- while y != 0
7
- r = x % y
8
- x = y
9
- y = r
10
- end
11
-
12
- x
13
- end
14
-
15
- puts gcd ARGV[0].to_i, ARGV[1].to_i
@@ -1,34 +0,0 @@
1
- # Solves the classic Towers of Hanoi puzzle.
2
- def hanoi(n,a,b,c)
3
- if n-1 > 0
4
- hanoi(n-1, a, c, b)
5
- end
6
- puts "Move disk %s to %s" % [a, b]
7
- if n-1 > 0
8
- hanoi(n-1, c, b, a)
9
- end
10
- end
11
-
12
- i_args=ARGV.length
13
- if i_args > 1
14
- puts "*** Need number of disks or no parameter"
15
- exit 1
16
- end
17
-
18
- n=3
19
-
20
- if i_args > 0
21
- begin
22
- n = ARGV[0].to_i
23
- rescue ValueError, :msg
24
- print "** Expecting an integer, got: %s" % ARGV[0].to_s
25
- exit 2
26
- end
27
- end
28
-
29
- if n < 1 or n > 100
30
- puts "*** number of disks should be between 1 and 100"
31
- exit 2
32
- end
33
-
34
- hanoi(n, :a, :b, :c)
@@ -1 +0,0 @@
1
- byebug
@@ -1,6 +0,0 @@
1
- byebug
2
-
3
- i = InfoExample.new
4
- i.b
5
- i.c
6
- i.d
@@ -1,3 +0,0 @@
1
- 1
2
- 2
3
- 3
@@ -1,8 +0,0 @@
1
- byebug
2
-
3
- ex = InterruptExample.a(7)
4
- 2.times do
5
- ex += 1
6
- end
7
-
8
- InterruptExample.b(ex)
@@ -1,2 +0,0 @@
1
- byebug
2
- KillExample.kill_me
@@ -1,23 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
4
- a = 4
5
- a = 5
6
- a = 6
7
- a = 7
8
- a = 8
9
- a = 9
10
- a = 10
11
- a = 11
12
- a = 12
13
- a = 13
14
- a = 14
15
- a = 15
16
- a = 16
17
- a = 17
18
- a = 18
19
- a = 19
20
- a = 20
21
- a = 21
22
- a = 22
23
- a = '%23'
@@ -1,4 +0,0 @@
1
- byebug
2
-
3
- a = MethodExample.new
4
- a.bla
@@ -1,4 +0,0 @@
1
- byebug
2
-
3
- c = PostMortemExample.new
4
- c.a
@@ -1,25 +0,0 @@
1
- # Enumerator for primes
2
- class SievePrime
3
- @@odd_primes = []
4
- def self.next_prime(&block)
5
- candidate = 2
6
- yield candidate
7
- not_prime = false
8
- candidate += 1
9
- while true do
10
- @@odd_primes.each do |p|
11
- not_prime = (0 == (candidate % p))
12
- break if not_prime
13
- end
14
- unless not_prime
15
- @@odd_primes << candidate
16
- yield candidate
17
- end
18
- candidate += 2
19
- end
20
- end
21
- end
22
- SievePrime.next_prime do |prime|
23
- puts prime
24
- break if prime > 10
25
- end
@@ -1,2 +0,0 @@
1
- byebug
2
- DummyObject.new
@@ -1,6 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
4
- a = 4
5
- a = 5
6
- a = 6
@@ -1,6 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
4
- a = 4
5
- a = 5
6
- a = 6
@@ -1,6 +0,0 @@
1
- byebug
2
-
3
- a = ARGV[0]
4
- b = ARGV[1]
5
- c = ARGV[2]
6
- RestartExample.new.concat_args(a, b, c)
@@ -1,3 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
@@ -1,3 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
@@ -1 +0,0 @@
1
- byebug
@@ -1 +0,0 @@
1
- byebug
@@ -1,3 +0,0 @@
1
- byebug
2
- a = 2
3
- a = 3
@@ -1,8 +0,0 @@
1
- byebug
2
-
3
- ex = SteppingExample.a(7)
4
- 2.times do
5
- ex += 1
6
- end
7
-
8
- SteppingExample.b(ex)
@@ -1,3 +0,0 @@
1
- byebug
2
-
3
- SteppingRaiseFromCMethodExample.new.a
@@ -1,3 +0,0 @@
1
- byebug
2
-
3
- SteppingRaiseFromRubyMethodExample.new.a
@@ -1,14 +0,0 @@
1
- require 'minitest/autorun'
2
- require_relative 'triangle.rb'
3
-
4
- class TestTri < MiniTest::Unit::TestCase
5
- def test_basic
6
- byebug
7
- solutions = []
8
- 0.upto(5) do |i|
9
- solutions << triangle(i)
10
- end
11
- assert_equal([0, 1, 3, 6, 10, 15], solutions,
12
- "Testing the first 5 triangle numbers")
13
- end
14
- end
@@ -1,5 +0,0 @@
1
- byebug
2
-
3
- t = ThreadExample.new
4
- t.launch
5
- t.kill
@@ -1,10 +0,0 @@
1
- byebug
2
- class TmateExample
3
- def a
4
- b
5
- end
6
- def b
7
- 3
8
- end
9
- end
10
- TmateExample.new.a
@@ -1,8 +0,0 @@
1
- $bla = 2
2
- byebug
3
- $bla = 3
4
- $bla = 4
5
- $bla = 5
6
- $bla = 6
7
- $bla = 7
8
- $bla = (0 == (7 % $bla))
@@ -1,6 +0,0 @@
1
- def triangle(n)
2
- (0..n).inject do |sum, i|
3
- sum +=i
4
- end
5
- end
6
- puts triangle(3)
@@ -1,13 +0,0 @@
1
- # Compute the n'th triangle number, the hard way: triangle(n) == (n*(n+1))/2
2
- def triangle(n)
3
- tri = 0
4
- 0.upto(n) do |i|
5
- tri += i
6
- end
7
- tri
8
- end
9
-
10
- if __FILE__ == $0
11
- t = triangle(3)
12
- puts t
13
- end
@@ -1,4 +0,0 @@
1
- byebug
2
-
3
- v = VariablesExample.new
4
- v.run
@@ -1,9 +0,0 @@
1
- class TestTimeout < MiniTest::Spec
2
-
3
- it 'call to "Timeout::timeout" after "Byebug.start" does not raise' do
4
- Byebug.start do
5
- Timeout::timeout(60) {}
6
- end
7
- end
8
-
9
- end