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

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

Issue 1813723002: clovis: Identify prefetchable resources from dependencies and tracing. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 4 years, 9 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
« no previous file with comments | « tools/android/loading/tracing.py ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 collections 5 import collections
6 import copy 6 import copy
7 import logging 7 import logging
8 import operator 8 import operator
9 import unittest 9 import unittest
10 10
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
280 self.assertIsNone(self.track.EventFromStep(outside)) 280 self.assertIsNone(self.track.EventFromStep(outside))
281 self.assertIsNone(self.track.EventFromStep(wrong_pid)) 281 self.assertIsNone(self.track.EventFromStep(wrong_pid))
282 self.assertIsNone(self.track.EventFromStep(wrong_id)) 282 self.assertIsNone(self.track.EventFromStep(wrong_id))
283 self.assertIsNone(self.track.EventFromStep(wrong_name)) 283 self.assertIsNone(self.track.EventFromStep(wrong_name))
284 # Invalid events 284 # Invalid events
285 with self.assertRaises(AssertionError): 285 with self.assertRaises(AssertionError):
286 self.track.EventFromStep(wrong_phase) 286 self.track.EventFromStep(wrong_phase)
287 with self.assertRaises(AssertionError): 287 with self.assertRaises(AssertionError):
288 self.track.EventFromStep(no_step) 288 self.track.EventFromStep(no_step)
289 289
290 def testTracingTrackForThread(self): 290 def testFilterPidTid(self):
291 self._HandleEvents(self._EVENTS) 291 self._HandleEvents(self._EVENTS)
292 tracing_track = self.track.TracingTrackForThread((2, 1)) 292 tracing_track = self.track.Filter(2, 1)
293 self.assertTrue(tracing_track is not self.track) 293 self.assertTrue(tracing_track is not self.track)
294 self.assertEquals(4, len(tracing_track.GetEvents())) 294 self.assertEquals(4, len(tracing_track.GetEvents()))
295 tracing_track = self.track.TracingTrackForThread((2, 42)) 295 tracing_track = self.track.Filter(2, 42)
296 self.assertEquals(0, len(tracing_track.GetEvents())) 296 self.assertEquals(0, len(tracing_track.GetEvents()))
297 297
298 def testFilterCategories(self):
299 events = [
300 {'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 2, 'tid': 1, 'cat': 'A'},
301 {'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 2, 'tid': 1, 'cat': 'B'},
302 {'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 2, 'tid': 1, 'cat': 'C,D'},
303 {'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 2, 'tid': 1, 'cat': 'A,B,C,D'}]
304 self._HandleEvents(events)
305 tracing_events = self.track.GetEvents()
306 self.assertEquals(4, len(tracing_events))
307 filtered_events = self.track.Filter(categories=None).GetEvents()
308 self.assertListEqual(tracing_events, filtered_events)
309 filtered_events = self.track.Filter(categories=set(['A'])).GetEvents()
310 self.assertEquals(2, len(filtered_events))
311 self.assertListEqual([tracing_events[0], tracing_events[3]],
312 filtered_events)
313 filtered_events = self.track.Filter(categories=set(['Z'])).GetEvents()
314 self.assertEquals(0, len(filtered_events))
315 filtered_events = self.track.Filter(categories=set(['B', 'C'])).GetEvents()
316 self.assertEquals(3, len(filtered_events))
317 self.assertListEqual(tracing_events[1:], filtered_events)
318
298 def _HandleEvents(self, events): 319 def _HandleEvents(self, events):
299 self.track.Handle('Tracing.dataCollected', {'params': {'value': [ 320 self.track.Handle('Tracing.dataCollected', {'params': {'value': [
300 self.EventToMicroseconds(e) for e in events]}}) 321 self.EventToMicroseconds(e) for e in events]}})
301 322
302 323
303 class IntervalTreeTestCase(unittest.TestCase): 324 class IntervalTreeTestCase(unittest.TestCase):
304 class FakeEvent(object): 325 class FakeEvent(object):
305 def __init__(self, start_msec, end_msec): 326 def __init__(self, start_msec, end_msec):
306 self.start_msec = start_msec 327 self.start_msec = start_msec
307 self.end_msec = end_msec 328 self.end_msec = end_msec
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 self.assertEquals(8, len(tree.OverlappingEvents(450, 800))) 378 self.assertEquals(8, len(tree.OverlappingEvents(450, 800)))
358 # Add instant events, check that they are included. 379 # Add instant events, check that they are included.
359 events += [self.FakeEvent(500, 500) for i in range(10)] 380 events += [self.FakeEvent(500, 500) for i in range(10)]
360 tree = _IntervalTree.FromEvents(events) 381 tree = _IntervalTree.FromEvents(events)
361 self.assertEquals(3 + 10, len(tree.OverlappingEvents(450, 550))) 382 self.assertEquals(3 + 10, len(tree.OverlappingEvents(450, 550)))
362 self.assertEquals(8 + 10, len(tree.OverlappingEvents(450, 800))) 383 self.assertEquals(8 + 10, len(tree.OverlappingEvents(450, 800)))
363 384
364 385
365 if __name__ == '__main__': 386 if __name__ == '__main__':
366 unittest.main() 387 unittest.main()
OLDNEW
« no previous file with comments | « tools/android/loading/tracing.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698