ruby-prof 1.4.3 → 1.4.5

Sign up to get free protection for your applications and to get access to all the features.
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