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

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

Issue 2103673003: tools/android/loading: Properly detect page loading failures (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addresses Colin's nit Created 4 years, 5 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 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
353 self.assertListEqual([tracing_events[0], tracing_events[3]], 353 self.assertListEqual([tracing_events[0], tracing_events[3]],
354 filtered_events) 354 filtered_events)
355 filtered_events = self.track.Filter(categories=set(['Z'])).GetEvents() 355 filtered_events = self.track.Filter(categories=set(['Z'])).GetEvents()
356 self.assertEquals(0, len(filtered_events)) 356 self.assertEquals(0, len(filtered_events))
357 filtered_events = self.track.Filter(categories=set(['B', 'C'])).GetEvents() 357 filtered_events = self.track.Filter(categories=set(['B', 'C'])).GetEvents()
358 self.assertEquals(3, len(filtered_events)) 358 self.assertEquals(3, len(filtered_events))
359 self.assertListEqual(tracing_events[1:], filtered_events) 359 self.assertListEqual(tracing_events[1:], filtered_events)
360 self.assertSetEqual( 360 self.assertSetEqual(
361 set('A'), self.track.Filter(categories=set('A')).Categories()) 361 set('A'), self.track.Filter(categories=set('A')).Categories())
362 362
363 def testHasLoadingSucceeded(self):
364 cat = 'navigation'
365 on_navigate = 'RenderFrameImpl::OnNavigate'
366 fail_provisional = 'RenderFrameImpl::didFailProvisionalLoad'
367 fail_load = 'RenderFrameImpl::didFailLoad'
368
369 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': []})
370 with self.assertRaises(AssertionError):
371 track.HasLoadingSucceeded()
372
373 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': [
374 {'cat': cat, 'name': on_navigate, 'args': {'id': 1},
375 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1}]})
376 self.assertTrue(track.HasLoadingSucceeded())
377
378 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': [
379 {'cat': cat, 'name': on_navigate, 'args': {'id': 1},
380 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1},
381 {'cat': cat, 'name': on_navigate, 'args': {'id': 2},
382 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1},
383 {'cat': cat, 'name': fail_provisional, 'args': {'id': 2},
384 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1}]})
385 self.assertTrue(track.HasLoadingSucceeded())
386
387 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': [
388 {'cat': cat, 'name': on_navigate, 'args': {'id': 1},
389 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1},
390 {'cat': cat, 'name': fail_provisional, 'args': {'id': 1},
391 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1}]})
392 self.assertFalse(track.HasLoadingSucceeded())
393
394 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': [
395 {'cat': cat, 'name': on_navigate, 'args': {'id': 1},
396 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1},
397 {'cat': cat, 'name': fail_load, 'args': {'id': 1},
398 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1}]})
399 self.assertFalse(track.HasLoadingSucceeded())
400
401 track = TracingTrack.FromJsonDict({'categories': [cat], 'events': [
402 {'cat': cat, 'name': on_navigate, 'args': {'id': 1},
403 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1},
404 {'cat': cat, 'name': fail_load, 'args': {'id': 1},
405 'ts': 5, 'ph': 'X', 'dur': 10, 'pid': 1, 'tid': 1}]})
406 self.assertFalse(track.HasLoadingSucceeded())
407
363 def _HandleEvents(self, events): 408 def _HandleEvents(self, events):
364 self.track.Handle('Tracing.dataCollected', {'params': {'value': [ 409 self.track.Handle('Tracing.dataCollected', {'params': {'value': [
365 self.EventToMicroseconds(e) for e in events]}}) 410 self.EventToMicroseconds(e) for e in events]}})
366 411
367 412
368 class IntervalTreeTestCase(unittest.TestCase): 413 class IntervalTreeTestCase(unittest.TestCase):
369 class FakeEvent(object): 414 class FakeEvent(object):
370 def __init__(self, start_msec, end_msec): 415 def __init__(self, start_msec, end_msec):
371 self.start_msec = start_msec 416 self.start_msec = start_msec
372 self.end_msec = end_msec 417 self.end_msec = end_msec
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
439 'cat': 'bar,baz,bizbiz', 484 'cat': 'bar,baz,bizbiz',
440 'ph': 'X', 485 'ph': 'X',
441 'ts': 0, 'dur': 0}) 486 'ts': 0, 'dur': 0})
442 self.assertTrue(event.Matches('bar', 'foo')) 487 self.assertTrue(event.Matches('bar', 'foo'))
443 self.assertTrue(event.Matches('baz', 'foo')) 488 self.assertTrue(event.Matches('baz', 'foo'))
444 self.assertFalse(event.Matches('bar', 'biz')) 489 self.assertFalse(event.Matches('bar', 'biz'))
445 self.assertFalse(event.Matches('biz', 'foo')) 490 self.assertFalse(event.Matches('biz', 'foo'))
446 491
447 if __name__ == '__main__': 492 if __name__ == '__main__':
448 unittest.main() 493 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