byebug 3.0.0 → 3.1.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 (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