ruby-prof 1.4.3 → 1.4.4

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.
@@ -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
@@ -4,7 +4,7 @@
4
4
  require File.expand_path('../test_helper', __FILE__)
5
5
  require_relative './measure_allocations'
6
6
 
7
- class MeasureAllocationsTest < TestCase
7
+ class MeasureAllocationsTraceTest < TestCase
8
8
  def setup
9
9
  RubyProf::measure_mode = RubyProf::ALLOCATIONS
10
10
  end
@@ -15,7 +15,7 @@ class MeasureAllocationsTest < TestCase
15
15
  end
16
16
 
17
17
  def test_allocations
18
- result = RubyProf.profile do
18
+ result = RubyProf.profile(:track_allocations => true) do
19
19
  allocator = Allocator.new
20
20
  allocator.run
21
21
  end
@@ -24,11 +24,11 @@ class MeasureAllocationsTest < TestCase
24
24
  assert_in_delta(20, thread.total_time, 1)
25
25
 
26
26
  methods = result.threads.first.methods.sort.reverse
27
- assert_equal(13, methods.length)
27
+ assert_equal(12, methods.length)
28
28
 
29
29
  # Method 0
30
30
  method = methods[0]
31
- assert_equal('MeasureAllocationsTest#test_allocations', method.full_name)
31
+ assert_equal('MeasureAllocationsTraceTest#test_allocations', method.full_name)
32
32
  assert_in_delta(20, method.total_time, 1)
33
33
  assert_equal(0, method.wait_time)
34
34
  assert_equal(0, method.self_time)
@@ -61,31 +61,7 @@ class MeasureAllocationsTest < TestCase
61
61
 
62
62
  assert_equal(1, method.call_trees.callers.length)
63
63
  call_tree = method.call_trees.callers[0]
64
- assert_equal('MeasureAllocationsTest#test_allocations', call_tree.parent.target.full_name)
65
- assert_equal(19, call_tree.total_time)
66
- assert_equal(0, call_tree.wait_time)
67
- assert_equal(0, call_tree.self_time)
68
- assert_equal(19, call_tree.children_time)
69
-
70
- assert_equal(1, method.call_trees.callees.length)
71
- call_tree = method.call_trees.callees[0]
72
- assert_equal('Allocator#internal_run', call_tree.target.full_name)
73
- assert_equal(19, call_tree.total_time)
74
- assert_equal(0, call_tree.wait_time)
75
- assert_equal(0, call_tree.self_time)
76
- assert_equal(19, call_tree.children_time)
77
-
78
- # Method 2
79
- method = methods[2]
80
- assert_equal('Allocator#internal_run', method.full_name)
81
- assert_equal(19, method.total_time)
82
- assert_equal(0, method.wait_time)
83
- assert_equal(0, method.self_time)
84
- assert_equal(19, method.children_time)
85
-
86
- assert_equal(1, method.call_trees.callers.length)
87
- call_tree = method.call_trees.callers[0]
88
- assert_equal('Allocator#run', call_tree.parent.target.full_name)
64
+ assert_equal('MeasureAllocationsTraceTest#test_allocations', call_tree.parent.target.full_name)
89
65
  assert_equal(19, call_tree.total_time)
90
66
  assert_equal(0, call_tree.wait_time)
91
67
  assert_equal(0, call_tree.self_time)
@@ -113,8 +89,8 @@ class MeasureAllocationsTest < TestCase
113
89
  assert_equal(1, call_tree.self_time)
114
90
  assert_equal(3, call_tree.children_time)
115
91
 
116
- # Method 3
117
- method = methods[3]
92
+ # Method 2
93
+ method = methods[2]
118
94
  assert_equal('Class#new', method.full_name)
119
95
  assert_equal(18, method.total_time)
120
96
  assert_equal(0, method.wait_time)
@@ -123,7 +99,7 @@ class MeasureAllocationsTest < TestCase
123
99
 
124
100
  assert_equal(4, method.call_trees.callers.length)
125
101
  call_tree = method.call_trees.callers[0]
126
- assert_equal('MeasureAllocationsTest#test_allocations', call_tree.parent.target.full_name)
102
+ assert_equal('MeasureAllocationsTraceTest#test_allocations', call_tree.parent.target.full_name)
127
103
  assert_equal(1, call_tree.total_time)
128
104
  assert_equal(0, call_tree.wait_time)
129
105
  assert_equal(1, call_tree.self_time)
@@ -179,8 +155,8 @@ class MeasureAllocationsTest < TestCase
179
155
  assert_equal(1, call_tree.self_time)
180
156
  assert_equal(0, call_tree.children_time)
181
157
 
182
- # Method 4
183
- method = methods[4]
158
+ # Method 3
159
+ method = methods[3]
184
160
  assert_equal('Allocator#make_arrays', method.full_name)
185
161
  assert_equal(10, method.total_time)
186
162
  assert_equal(0, method.wait_time)
@@ -189,7 +165,7 @@ class MeasureAllocationsTest < TestCase
189
165
 
190
166
  assert_equal(1, method.call_trees.callers.length)
191
167
  call_tree = method.call_trees.callers[0]
192
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
168
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
193
169
  assert_equal(10, call_tree.total_time)
194
170
  assert_equal(0, call_tree.wait_time)
195
171
  assert_equal(0, call_tree.self_time)
@@ -203,8 +179,8 @@ class MeasureAllocationsTest < TestCase
203
179
  assert_equal(0, call_tree.self_time)
204
180
  assert_equal(10, call_tree.children_time)
205
181
 
206
- # Method 5
207
- method = methods[5]
182
+ # Method 4
183
+ method = methods[4]
208
184
  assert_equal('Integer#times', method.full_name)
209
185
  assert_equal(10, method.total_time)
210
186
  assert_equal(0, method.wait_time)
@@ -227,8 +203,8 @@ class MeasureAllocationsTest < TestCase
227
203
  assert_equal(10, call_tree.self_time)
228
204
  assert_equal(0, call_tree.children_time)
229
205
 
230
- # Method 6
231
- method = methods[6]
206
+ # Method 5
207
+ method = methods[5]
232
208
  assert_equal('Allocator#make_hashes', method.full_name)
233
209
  assert_equal(5, method.total_time)
234
210
  assert_equal(0, method.wait_time)
@@ -237,7 +213,7 @@ class MeasureAllocationsTest < TestCase
237
213
 
238
214
  assert_equal(1, method.call_trees.callers.length)
239
215
  call_tree = method.call_trees.callers[0]
240
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
216
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
241
217
  assert_equal(5, call_tree.total_time)
242
218
  assert_equal(0, call_tree.wait_time)
243
219
  assert_equal(0, call_tree.self_time)
@@ -251,8 +227,8 @@ class MeasureAllocationsTest < TestCase
251
227
  assert_equal(5, call_tree.self_time)
252
228
  assert_equal(0, call_tree.children_time)
253
229
 
254
- # Method 7
255
- method = methods[7]
230
+ # Method 6
231
+ method = methods[6]
256
232
  assert_equal('Allocator#make_strings', method.full_name)
257
233
  assert_equal(4, method.total_time)
258
234
  assert_equal(0, method.wait_time)
@@ -261,7 +237,7 @@ class MeasureAllocationsTest < TestCase
261
237
 
262
238
  assert_equal(1, method.call_trees.callers.length)
263
239
  call_tree = method.call_trees.callers[0]
264
- assert_equal('Allocator#internal_run', call_tree.parent.target.full_name)
240
+ assert_equal('Allocator#run', call_tree.parent.target.full_name)
265
241
  assert_equal(4, call_tree.total_time)
266
242
  assert_equal(0, call_tree.wait_time)
267
243
  assert_equal(1, call_tree.self_time)
@@ -282,8 +258,8 @@ class MeasureAllocationsTest < TestCase
282
258
  assert_equal(1, call_tree.self_time)
283
259
  assert_equal(1, call_tree.children_time)
284
260
 
285
- # Method 8
286
- method = methods[8]
261
+ # Method 7
262
+ method = methods[7]
287
263
  assert_equal('String#*', method.full_name)
288
264
  assert_equal(1, method.total_time)
289
265
  assert_equal(0, method.wait_time)
@@ -300,8 +276,8 @@ class MeasureAllocationsTest < TestCase
300
276
 
301
277
  assert_equal(0, method.call_trees.callees.length)
302
278
 
303
- # Method 9
304
- method = methods[9]
279
+ # Method 8
280
+ method = methods[8]
305
281
  assert_equal('String#initialize', method.full_name)
306
282
  assert_equal(1, method.total_time)
307
283
  assert_equal(0, method.wait_time)
@@ -318,8 +294,8 @@ class MeasureAllocationsTest < TestCase
318
294
 
319
295
  assert_equal(0, method.call_trees.callees.length)
320
296
 
321
- # Method 10
322
- method = methods[10]
297
+ # Method 9
298
+ method = methods[9]
323
299
  assert_equal('BasicObject#initialize', method.full_name)
324
300
  assert_equal(0, method.total_time)
325
301
  assert_equal(0, method.wait_time)
@@ -336,8 +312,8 @@ class MeasureAllocationsTest < TestCase
336
312
 
337
313
  assert_equal(0, method.call_trees.callees.length)
338
314
 
339
- # Method 11
340
- method = methods[11]
315
+ # Method 10
316
+ method = methods[10]
341
317
  assert_equal('Hash#initialize', method.full_name)
342
318
  assert_equal(0, method.total_time)
343
319
  assert_equal(0, method.wait_time)
@@ -353,23 +329,5 @@ class MeasureAllocationsTest < TestCase
353
329
  assert_equal(0, call_tree.children_time)
354
330
 
355
331
  assert_equal(0, method.call_trees.callees.length)
356
-
357
- # Method 12
358
- method = methods[12]
359
- assert_equal('Array#initialize', method.full_name)
360
- assert_equal(0, method.total_time)
361
- assert_equal(0, method.wait_time)
362
- assert_equal(0, method.self_time)
363
- assert_equal(0, method.children_time)
364
-
365
- assert_equal(1, method.call_trees.callers.length)
366
- call_tree = method.call_trees.callers[0]
367
- assert_equal('Class#new', call_tree.parent.target.full_name)
368
- assert_equal(0, call_tree.total_time)
369
- assert_equal(0, call_tree.wait_time)
370
- assert_equal(0, call_tree.self_time)
371
- assert_equal(0, call_tree.children_time)
372
-
373
- assert_equal(0, method.call_trees.callees.length)
374
332
  end
375
333
  end