Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(95)

Side by Side Diff: tools/android/loading/sandwich_metrics_unittest.py

Issue 1872313002: sandwich: Implement SandwichTaskBuilder (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses pasko's comments Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import copy 5 import copy
6 import json 6 import json
7 import os 7 import os
8 import shutil 8 import shutil
9 import subprocess 9 import subprocess
10 import tempfile 10 import tempfile
11 import unittest 11 import unittest
12 12
13 import loading_trace 13 import loading_trace
14 import page_track 14 import page_track
15 import sandwich_metrics as puller 15 import sandwich_metrics as puller
16 import sandwich_runner
16 import request_track 17 import request_track
17 import tracing 18 import tracing
18 19
19 20
20 _BLINK_CAT = 'blink.user_timing' 21 _BLINK_CAT = 'blink.user_timing'
21 _MEM_CAT = 'disabled-by-default-memory-infra' 22 _MEM_CAT = 'disabled-by-default-memory-infra'
22 _START='requestStart' 23 _START='requestStart'
23 _LOADS='loadEventStart' 24 _LOADS='loadEventStart'
24 _LOADE='loadEventEnd' 25 _LOADE='loadEventEnd'
25 _UNLOAD='unloadEventEnd' 26 _UNLOAD='unloadEventEnd'
(...skipping 13 matching lines...) Expand all
39 {'cat': _MEM_CAT, 'name': 'periodic_interval', 'pid': 1, 'ph': 'v', 40 {'cat': _MEM_CAT, 'name': 'periodic_interval', 'pid': 1, 'ph': 'v',
40 'ts': 1, 'args': {'dumps': {'allocators': {'malloc': {'attrs': {'size':{ 41 'ts': 1, 'args': {'dumps': {'allocators': {'malloc': {'attrs': {'size':{
41 'units': 'bytes', 'value': 'd704', }}}}}}}, 42 'units': 'bytes', 'value': 'd704', }}}}}}},
42 {'ph': 'M', 'cat': '__metadata', 'pid': 1, 'name': 'process_name', 'ts': 1, 43 {'ph': 'M', 'cat': '__metadata', 'pid': 1, 'name': 'process_name', 'ts': 1,
43 'args': {'name': 'Browser'}}] 44 'args': {'name': 'Browser'}}]
44 45
45 46
46 def TracingTrack(events): 47 def TracingTrack(events):
47 return tracing.TracingTrack.FromJsonDict({ 48 return tracing.TracingTrack.FromJsonDict({
48 'events': events, 49 'events': events,
49 'categories': tracing.INITIAL_CATEGORIES + puller.ADDITIONAL_CATEGORIES}) 50 'categories': (tracing.INITIAL_CATEGORIES +
51 sandwich_runner.ADDITIONAL_CATEGORIES)})
50 52
51 53
52 def LoadingTrace(events): 54 def LoadingTrace(events):
53 return loading_trace.LoadingTrace('http://a.com/', {}, 55 return loading_trace.LoadingTrace('http://a.com/', {},
54 page_track.PageTrack(None), 56 page_track.PageTrack(None),
55 request_track.RequestTrack(None), 57 request_track.RequestTrack(None),
56 TracingTrack(events)) 58 TracingTrack(events))
57 59
58 60
59 class PageTrackTest(unittest.TestCase): 61 class PageTrackTest(unittest.TestCase):
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 {'pid': 123, 'ts': 4000, 'cat': _MEM_CAT, 'ph': 'v', 'name': 'foo'}, 100 {'pid': 123, 'ts': 4000, 'cat': _MEM_CAT, 'ph': 'v', 'name': 'foo'},
99 {'pid': 123, 'ts': 5000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME}, 101 {'pid': 123, 'ts': 5000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME},
100 {'pid': 123, 'ts': 6000, 'cat': _MEM_CAT, 'ph': 'V'}, 102 {'pid': 123, 'ts': 6000, 'cat': _MEM_CAT, 'ph': 'V'},
101 {'pid': 672, 'ts': 7000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME}, 103 {'pid': 672, 'ts': 7000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME},
102 {'pid': 354, 'ts': 8000, 'cat': _MEM_CAT, 'ph': 'v', 'name': 'foo'}, 104 {'pid': 354, 'ts': 8000, 'cat': _MEM_CAT, 'ph': 'v', 'name': 'foo'},
103 {'pid': 123, 'ts': 9000, 'cat': 'whatever1', 'ph': 'v', 'name': NAME}, 105 {'pid': 123, 'ts': 9000, 'cat': 'whatever1', 'ph': 'v', 'name': NAME},
104 {'pid': 123, 'ts': 10000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME}, 106 {'pid': 123, 'ts': 10000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME},
105 {'pid': 354, 'ts': 11000, 'cat': 'whatever0', 'ph': 'R'}, 107 {'pid': 354, 'ts': 11000, 'cat': 'whatever0', 'ph': 'R'},
106 {'pid': 672, 'ts': 12000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME}] 108 {'pid': 672, 'ts': 12000, 'cat': _MEM_CAT, 'ph': 'v', 'name': NAME}]
107 109
108 self.assertTrue(_MEM_CAT in puller.ADDITIONAL_CATEGORIES) 110 self.assertTrue(_MEM_CAT in sandwich_runner.ADDITIONAL_CATEGORIES)
109 111
110 bump_events = RunHelper(TRACE_EVENTS, 123) 112 bump_events = RunHelper(TRACE_EVENTS, 123)
111 self.assertEquals(2, len(bump_events)) 113 self.assertEquals(2, len(bump_events))
112 self.assertEquals(5, bump_events[0].start_msec) 114 self.assertEquals(5, bump_events[0].start_msec)
113 self.assertEquals(10, bump_events[1].start_msec) 115 self.assertEquals(10, bump_events[1].start_msec)
114 116
115 bump_events = RunHelper(TRACE_EVENTS, 354) 117 bump_events = RunHelper(TRACE_EVENTS, 354)
116 self.assertEquals(1, len(bump_events)) 118 self.assertEquals(1, len(bump_events))
117 self.assertEquals(1, bump_events[0].start_msec) 119 self.assertEquals(1, bump_events[0].start_msec)
118 120
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
225 point(230, 1.0), 227 point(230, 1.0),
226 ] 228 ]
227 with self.assertRaises(ValueError): 229 with self.assertRaises(ValueError):
228 puller.ComputeSpeedIndex(completness_record) 230 puller.ComputeSpeedIndex(completness_record)
229 231
230 def testCommandLine(self): 232 def testCommandLine(self):
231 tmp_dir = tempfile.mkdtemp() 233 tmp_dir = tempfile.mkdtemp()
232 for dirname in ['1', '2', 'whatever']: 234 for dirname in ['1', '2', 'whatever']:
233 os.mkdir(os.path.join(tmp_dir, dirname)) 235 os.mkdir(os.path.join(tmp_dir, dirname))
234 LoadingTrace(_MINIMALIST_TRACE_EVENTS).ToJsonFile( 236 LoadingTrace(_MINIMALIST_TRACE_EVENTS).ToJsonFile(
235 os.path.join(tmp_dir, dirname, 'trace.json')) 237 os.path.join(tmp_dir, dirname, sandwich_runner.TRACE_FILENAME))
236 238
237 process = subprocess.Popen(['python', puller.__file__, tmp_dir]) 239 process = subprocess.Popen(['python', puller.__file__, tmp_dir])
238 process.wait() 240 process.wait()
239 shutil.rmtree(tmp_dir) 241 shutil.rmtree(tmp_dir)
240 242
241 self.assertEquals(0, process.returncode) 243 self.assertEquals(0, process.returncode)
242 244
243 245
244 if __name__ == '__main__': 246 if __name__ == '__main__':
245 unittest.main() 247 unittest.main()
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698