ruby-prof 1.4.3 → 1.4.5

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.
data/test/alias_test.rb CHANGED
@@ -20,107 +20,103 @@ class AliasTest < TestCase
20
20
  RubyProf::measure_mode = RubyProf::WALL_TIME
21
21
  end
22
22
 
23
- # This test only correct works on Ruby 2.5 and higher because - see:
24
- # https://bugs.ruby-lang.org/issues/12747
25
- if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.5.0')
26
- def test_alias
27
- result = RubyProf.profile do
28
- TestMe.new.some_method
29
- end
30
-
31
- methods = result.threads.first.methods
32
- assert_equal(6, methods.count)
33
-
34
- # Method 0
35
- method = methods[0]
36
- assert_equal('AliasTest#test_alias', method.full_name)
37
- assert_equal(28, method.line)
38
- refute(method.recursive?)
39
-
40
- assert_equal(0, method.call_trees.callers.count)
41
-
42
- assert_equal(2, method.call_trees.callees.count)
43
- call_tree = method.call_trees.callees[0]
44
- assert_equal('Class#new', call_tree.target.full_name)
45
- assert_equal(28, call_tree.line)
46
-
47
- call_tree = method.call_trees.callees[1]
48
- assert_equal('AliasTest::TestMe#some_method', call_tree.target.full_name)
49
- assert_equal(28, call_tree.line)
50
-
51
- # Method 1
52
- method = methods[1]
53
- assert_equal('Class#new', method.full_name)
54
- assert_equal(0, method.line)
55
- refute(method.recursive?)
56
-
57
- assert_equal(1, method.call_trees.callers.count)
58
- call_tree = method.call_trees.callers[0]
59
- assert_equal('AliasTest#test_alias', call_tree.parent.target.full_name)
60
- assert_equal(28, call_tree.line)
61
-
62
- assert_equal(1, method.call_trees.callees.count)
63
- call_tree = method.call_trees.callees[0]
64
- assert_equal('BasicObject#initialize', call_tree.target.full_name)
65
- assert_equal(0, call_tree.line)
66
-
67
- # Method 2
68
- method = methods[2]
69
- assert_equal('BasicObject#initialize', method.full_name)
70
- assert_equal(0, method.line)
71
- refute(method.recursive?)
72
-
73
- assert_equal(1, method.call_trees.callers.count)
74
- call_tree = method.call_trees.callers[0]
75
- assert_equal('Class#new', call_tree.parent.target.full_name)
76
- assert_equal(0, call_tree.line)
77
-
78
- assert_equal(0, method.call_trees.callees.count)
79
-
80
- # Method 3
81
- method = methods[3]
82
- assert_equal('AliasTest::TestMe#some_method', method.full_name)
83
- assert_equal(13, method.line)
84
- refute(method.recursive?)
85
-
86
- assert_equal(1, method.call_trees.callers.count)
87
- call_tree = method.call_trees.callers[0]
88
- assert_equal('AliasTest#test_alias', call_tree.parent.target.full_name)
89
- assert_equal(28, call_tree.line)
90
-
91
- assert_equal(1, method.call_trees.callees.count)
92
- call_tree = method.call_trees.callees[0]
93
- assert_equal('AliasTest::TestMe#some_method_original', call_tree.target.full_name)
94
- assert_equal(14, call_tree.line)
95
-
96
- # Method 4
97
- method = methods[4]
98
- assert_equal('AliasTest::TestMe#some_method_original', method.full_name)
99
- assert_equal(8, method.line)
100
- refute(method.recursive?)
101
-
102
- assert_equal(1, method.call_trees.callers.count)
103
- call_tree = method.call_trees.callers[0]
104
- assert_equal('AliasTest::TestMe#some_method', call_tree.parent.target.full_name)
105
- assert_equal(14, call_tree.line)
106
-
107
- assert_equal(1, method.call_trees.callees.count)
108
- call_tree = method.call_trees.callees[0]
109
- assert_equal('Kernel#sleep', call_tree.target.full_name)
110
- assert_equal(9, call_tree.line)
111
-
112
- # Method 5
113
- method = methods[5]
114
- assert_equal('Kernel#sleep', method.full_name)
115
- assert_equal(0, method.line)
116
- refute(method.recursive?)
117
-
118
- assert_equal(1, method.call_trees.callers.count)
119
- call_tree = method.call_trees.callers[0]
120
- assert_equal('AliasTest::TestMe#some_method_original', call_tree.parent.target.full_name)
121
- assert_equal(9, call_tree.line)
122
-
123
- assert_equal(0, method.call_trees.callees.count)
23
+ def test_alias
24
+ result = RubyProf.profile do
25
+ TestMe.new.some_method
124
26
  end
27
+
28
+ methods = result.threads.first.methods
29
+ assert_equal(6, methods.count)
30
+
31
+ # Method 0
32
+ method = methods[0]
33
+ assert_equal('AliasTest#test_alias', method.full_name)
34
+ assert_equal(25, method.line)
35
+ refute(method.recursive?)
36
+
37
+ assert_equal(0, method.call_trees.callers.count)
38
+
39
+ assert_equal(2, method.call_trees.callees.count)
40
+ call_tree = method.call_trees.callees[0]
41
+ assert_equal('Class#new', call_tree.target.full_name)
42
+ assert_equal(25, call_tree.line)
43
+
44
+ call_tree = method.call_trees.callees[1]
45
+ assert_equal('AliasTest::TestMe#some_method', call_tree.target.full_name)
46
+ assert_equal(25, call_tree.line)
47
+
48
+ # Method 1
49
+ method = methods[1]
50
+ assert_equal('Class#new', method.full_name)
51
+ assert_equal(0, method.line)
52
+ refute(method.recursive?)
53
+
54
+ assert_equal(1, method.call_trees.callers.count)
55
+ call_tree = method.call_trees.callers[0]
56
+ assert_equal('AliasTest#test_alias', call_tree.parent.target.full_name)
57
+ assert_equal(25, call_tree.line)
58
+
59
+ assert_equal(1, method.call_trees.callees.count)
60
+ call_tree = method.call_trees.callees[0]
61
+ assert_equal('BasicObject#initialize', call_tree.target.full_name)
62
+ assert_equal(0, call_tree.line)
63
+
64
+ # Method 2
65
+ method = methods[2]
66
+ assert_equal('BasicObject#initialize', method.full_name)
67
+ assert_equal(0, method.line)
68
+ refute(method.recursive?)
69
+
70
+ assert_equal(1, method.call_trees.callers.count)
71
+ call_tree = method.call_trees.callers[0]
72
+ assert_equal('Class#new', call_tree.parent.target.full_name)
73
+ assert_equal(0, call_tree.line)
74
+
75
+ assert_equal(0, method.call_trees.callees.count)
76
+
77
+ # Method 3
78
+ method = methods[3]
79
+ assert_equal('AliasTest::TestMe#some_method', method.full_name)
80
+ assert_equal(13, method.line)
81
+ refute(method.recursive?)
82
+
83
+ assert_equal(1, method.call_trees.callers.count)
84
+ call_tree = method.call_trees.callers[0]
85
+ assert_equal('AliasTest#test_alias', call_tree.parent.target.full_name)
86
+ assert_equal(25, call_tree.line)
87
+
88
+ assert_equal(1, method.call_trees.callees.count)
89
+ call_tree = method.call_trees.callees[0]
90
+ assert_equal('AliasTest::TestMe#some_method_original', call_tree.target.full_name)
91
+ assert_equal(14, call_tree.line)
92
+
93
+ # Method 4
94
+ method = methods[4]
95
+ assert_equal('AliasTest::TestMe#some_method_original', method.full_name)
96
+ assert_equal(8, method.line)
97
+ refute(method.recursive?)
98
+
99
+ assert_equal(1, method.call_trees.callers.count)
100
+ call_tree = method.call_trees.callers[0]
101
+ assert_equal('AliasTest::TestMe#some_method', call_tree.parent.target.full_name)
102
+ assert_equal(14, call_tree.line)
103
+
104
+ assert_equal(1, method.call_trees.callees.count)
105
+ call_tree = method.call_trees.callees[0]
106
+ assert_equal('Kernel#sleep', call_tree.target.full_name)
107
+ assert_equal(9, call_tree.line)
108
+
109
+ # Method 5
110
+ method = methods[5]
111
+ assert_equal('Kernel#sleep', method.full_name)
112
+ assert_equal(0, method.line)
113
+ refute(method.recursive?)
114
+
115
+ assert_equal(1, method.call_trees.callers.count)
116
+ call_tree = method.call_trees.callers[0]
117
+ assert_equal('AliasTest::TestMe#some_method_original', call_tree.parent.target.full_name)
118
+ assert_equal(9, call_tree.line)
119
+
120
+ assert_equal(0, method.call_trees.callees.count)
125
121
  end
126
122
  end
@@ -3,18 +3,18 @@
3
3
 
4
4
  require File.expand_path('../test_helper', __FILE__)
5
5
 
6
- class DuplicateNames < TestCase
6
+ class DuplicateNamesTest < TestCase
7
7
  def test_names
8
8
  result = RubyProf::profile do
9
9
  str = %{module Foo; class Bar; def foo; end end end}
10
10
 
11
11
  eval str
12
12
  Foo::Bar.new.foo
13
- DuplicateNames.class_eval {remove_const :Foo}
13
+ DuplicateNamesTest.class_eval {remove_const :Foo}
14
14
 
15
15
  eval str
16
16
  Foo::Bar.new.foo
17
- DuplicateNames.class_eval {remove_const :Foo}
17
+ DuplicateNamesTest.class_eval {remove_const :Foo}
18
18
 
19
19
  eval str
20
20
  Foo::Bar.new.foo
@@ -24,7 +24,7 @@ class DuplicateNames < TestCase
24
24
  methods = result.threads.first.methods.sort.reverse
25
25
 
26
26
  methods = methods.select do |method|
27
- method.full_name == 'DuplicateNames::Foo::Bar#foo'
27
+ method.full_name == 'DuplicateNamesTest::Foo::Bar#foo'
28
28
  end
29
29
 
30
30
  assert_equal(3, methods.length)
@@ -39,15 +39,29 @@ class DynamicMethodTest < TestCase
39
39
  end
40
40
 
41
41
  methods = result.threads.first.methods.sort.reverse
42
- expected_method_names = %w(
43
- DynamicMethodTest#test_dynamic_method
44
- Kernel#sleep
45
- DynamicMethodTest::FruitMedley#peach
46
- DynamicMethodTest::FruitMedley#banana
47
- DynamicMethodTest::FruitMedley#orange
48
- DynamicMethodTest::FruitMedley#apple
49
- Symbol#to_s
50
- )
42
+
43
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('3.1')
44
+ expected_method_names = %w(
45
+ DynamicMethodTest#test_dynamic_method
46
+ Kernel#sleep
47
+ DynamicMethodTest::FruitMedley#peach
48
+ DynamicMethodTest::FruitMedley#banana
49
+ DynamicMethodTest::FruitMedley#orange
50
+ DynamicMethodTest::FruitMedley#apple
51
+ Symbol#to_s
52
+ )
53
+ else
54
+ expected_method_names = %w(
55
+ DynamicMethodTest#test_dynamic_method
56
+ Kernel#sleep
57
+ DynamicMethodTest::FruitMedley#peach
58
+ DynamicMethodTest::FruitMedley#banana
59
+ DynamicMethodTest::FruitMedley#orange
60
+ DynamicMethodTest::FruitMedley#apple
61
+ Integer#==
62
+ )
63
+ end
64
+
51
65
  assert_equal expected_method_names.join("\n"), methods.map(&:full_name).join("\n")
52
66
  end
53
67
  end
data/test/marshal_test.rb CHANGED
@@ -5,6 +5,8 @@ require File.expand_path("../test_helper", __FILE__)
5
5
  class MarshalTest < TestCase
6
6
  def verify_profile(profile_1, profile_2)
7
7
  verify_threads(profile_1.threads, profile_2.threads)
8
+ assert_equal(profile_1.measure_mode, profile_2.measure_mode)
9
+ assert_equal(profile_1.track_allocations?, profile_2.track_allocations?)
8
10
  end
9
11
 
10
12
  def verify_threads(threads_1, threads_2)
@@ -108,8 +110,19 @@ class MarshalTest < TestCase
108
110
  assert_equal(measurement_1.called, measurement_2.called)
109
111
  end
110
112
 
111
- def test_marshal
112
- profile_1 = RubyProf.profile do
113
+ def test_marshal_1
114
+ profile_1 = RubyProf.profile(:measure_mode => RubyProf::WALL_TIME) do
115
+ 1.times { RubyProf::C1.new.sleep_wait }
116
+ end
117
+
118
+ data = Marshal.dump(profile_1)
119
+ profile_2 = Marshal.load(data)
120
+
121
+ verify_profile(profile_1, profile_2)
122
+ end
123
+
124
+ def test_marshal_2
125
+ profile_1 = RubyProf.profile(:measure_mode => RubyProf::PROCESS_TIME, :track_allocations => true) do
113
126
  1.times { RubyProf::C1.new.sleep_wait }
114
127
  end
115
128
 
@@ -18,13 +18,9 @@ class Allocator
18
18
  String.new(b_string)
19
19
  end
20
20
 
21
- def internal_run
21
+ def run
22
22
  make_arrays
23
23
  make_hashes
24
24
  make_strings
25
25
  end
26
-
27
- def run
28
- internal_run
29
- end
30
26
  end