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

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

Issue 1708223005: Loading model test tweak. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: push up MakeGraph Created 4 years, 10 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/loading_model_unittest.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 """Common utilities used in unit tests, within this directory.""" 5 """Common utilities used in unit tests, within this directory."""
6 6
7 import devtools_monitor 7 import devtools_monitor
8 import loading_model
8 import loading_trace 9 import loading_trace
9 import page_track 10 import page_track
10 import request_track 11 import request_track
11 import tracing 12 import tracing
12 13
13 14
14 class FakeRequestTrack(devtools_monitor.Track): 15 class FakeRequestTrack(devtools_monitor.Track):
15 def __init__(self, events): 16 def __init__(self, events):
16 super(FakeRequestTrack, self).__init__(None) 17 super(FakeRequestTrack, self).__init__(None)
17 self._events = [self._RewriteEvent(e) for e in events] 18 self._events = [self._RewriteEvent(e) for e in events]
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 request = FakeRequestTrack(requests) 74 request = FakeRequestTrack(requests)
74 page_event_track = FakePageTrack(page_events if page_events else []) 75 page_event_track = FakePageTrack(page_events if page_events else [])
75 if trace_events: 76 if trace_events:
76 tracing_track = tracing.TracingTrack(None) 77 tracing_track = tracing.TracingTrack(None)
77 tracing_track.Handle('Tracing.dataCollected', 78 tracing_track.Handle('Tracing.dataCollected',
78 {'params': {'value': [e for e in trace_events]}}) 79 {'params': {'value': [e for e in trace_events]}})
79 else: 80 else:
80 tracing_track = None 81 tracing_track = None
81 return loading_trace.LoadingTrace( 82 return loading_trace.LoadingTrace(
82 None, None, page_event_track, request, tracing_track) 83 None, None, page_event_track, request, tracing_track)
84
85
86 class SimpleLens(object):
87 """A simple replacement for RequestDependencyLens.
88
89 Uses only the initiator url of a request for determining a dependency.
90 """
91 def __init__(self, trace):
92 self._trace = trace
93
94 def GetRequestDependencies(self):
95 url_to_rq = {}
96 deps = []
97 for rq in self._trace.request_track.GetEvents():
98 assert rq.url not in url_to_rq
99 url_to_rq[rq.url] = rq
100 for rq in self._trace.request_track.GetEvents():
101 initiating_url = rq.initiator['url']
102 if initiating_url in url_to_rq:
103 deps.append((url_to_rq[initiating_url], rq, rq.initiator['type']))
104 return deps
105
106
107 class TestResourceGraph(loading_model.ResourceGraph):
108 """Replace the default request lens in a ResourceGraph with our SimpleLens."""
109 REQUEST_LENS = SimpleLens
110
111 @classmethod
112 def FromRequestList(cls, requests, page_events=None, trace_events=None):
113 return cls(LoadingTraceFromEvents(requests, page_events, trace_events))
OLDNEW
« no previous file with comments | « tools/android/loading/loading_model_unittest.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698