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

Side by Side Diff: tools/perf/measurements/page_cycler_unittest.py

Issue 403093002: Merge all logic in PageMeasurementResults to PageTestResults. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 4 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 2013 The Chromium Authors. All rights reserved. 1 # Copyright 2013 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 unittest 5 import unittest
6 6
7 from telemetry.core import browser_options 7 from telemetry.core import browser_options
8 from telemetry.page import page_runner 8 from telemetry.page import page_runner
9 from telemetry.results import page_measurement_results 9 from telemetry.results import page_measurement_results
10 from telemetry.unittest import simple_mock 10 from telemetry.unittest import simple_mock
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 self.assertEquals(cycler._cold_run_start_index, 26) 133 self.assertEquals(cycler._cold_run_start_index, 26)
134 134
135 def testCacheHandled(self): 135 def testCacheHandled(self):
136 cycler = self.SetUpCycler(['--pageset-repeat=5', 136 cycler = self.SetUpCycler(['--pageset-repeat=5',
137 '--cold-load-percent=50'], 137 '--cold-load-percent=50'],
138 True) 138 True)
139 139
140 url_name = 'http://fakepage.com' 140 url_name = 'http://fakepage.com'
141 page = FakePage(url_name) 141 page = FakePage(url_name)
142 tab = FakeTab() 142 tab = FakeTab()
143 results = page_measurement_results.PageMeasurementResults()
144 143
145 for i in range(5): 144 for i in range(5):
145 results = page_measurement_results.PageMeasurementResults()
146 results.StartTest(page)
146 cycler.WillNavigateToPage(page, tab) 147 cycler.WillNavigateToPage(page, tab)
147 self.assertEqual(max(0, i - 2), tab.clear_cache_calls, 148 self.assertEqual(max(0, i - 2), tab.clear_cache_calls,
148 'Iteration %d tab.clear_cache_calls %d' % 149 'Iteration %d tab.clear_cache_calls %d' %
149 (i, tab.clear_cache_calls)) 150 (i, tab.clear_cache_calls))
150 results.WillMeasurePage(page)
151 cycler.MeasurePage(page, tab, results) 151 cycler.MeasurePage(page, tab, results)
152 results.StopTest(page)
152 153
153 values = results.page_specific_values_for_current_page 154 values = results.all_page_specific_values
154 results.DidMeasurePage()
155
156 self.assertGreater(len(values), 2) 155 self.assertGreater(len(values), 2)
157 156
158 self.assertEqual(values[0].page, page) 157 self.assertEqual(values[0].page, page)
159 chart_name = 'cold_times' if i == 0 or i > 2 else 'warm_times' 158 chart_name = 'cold_times' if i == 0 or i > 2 else 'warm_times'
160 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 159 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name)
161 self.assertEqual(values[0].units, 'ms') 160 self.assertEqual(values[0].units, 'ms')
162 161
163 cycler.DidNavigateToPage(page, tab) 162 cycler.DidNavigateToPage(page, tab)
164 163
165 def testColdWarm(self): 164 def testColdWarm(self):
166 cycler = self.SetUpCycler(['--pageset-repeat=3'], True) 165 cycler = self.SetUpCycler(['--pageset-repeat=3'], True)
167 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')] 166 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')]
168 tab = FakeTab() 167 tab = FakeTab()
169 results = page_measurement_results.PageMeasurementResults()
170 for i in range(3): 168 for i in range(3):
171 for page in pages: 169 for page in pages:
170 results = page_measurement_results.PageMeasurementResults()
171 results.StartTest(page)
nednguyen 2014/07/25 16:14:45 I think we use one results throughout the whole te
chrishenry 2014/07/25 16:24:28 I think that will make the test unnecessarily comp
nednguyen 2014/07/25 16:36:57 Ok. Chatted offline, we probably should fix the pa
172 cycler.WillNavigateToPage(page, tab) 172 cycler.WillNavigateToPage(page, tab)
173 results.WillMeasurePage(page)
174 cycler.MeasurePage(page, tab, results) 173 cycler.MeasurePage(page, tab, results)
174 results.StopTest(page)
175 175
176 values = results.page_specific_values_for_current_page 176 values = results.all_page_specific_values
177 results.DidMeasurePage()
178
179 self.assertGreater(len(values), 2) 177 self.assertGreater(len(values), 2)
180 178
181 self.assertEqual(values[0].page, page) 179 self.assertEqual(values[0].page, page)
182 180
183 chart_name = 'cold_times' if i == 0 or i > 1 else 'warm_times' 181 chart_name = 'cold_times' if i == 0 or i > 1 else 'warm_times'
184 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 182 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name)
185 self.assertEqual(values[0].units, 'ms') 183 self.assertEqual(values[0].units, 'ms')
186 184
187 cycler.DidNavigateToPage(page, tab) 185 cycler.DidNavigateToPage(page, tab)
188 186
189 def testResults(self): 187 def testResults(self):
190 cycler = self.SetUpCycler([], True) 188 cycler = self.SetUpCycler([], True)
191 189
192 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')] 190 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')]
193 tab = FakeTab() 191 tab = FakeTab()
194 results = page_measurement_results.PageMeasurementResults()
195 192
196 for i in range(2): 193 for i in range(2):
197 for page in pages: 194 for page in pages:
195 results = page_measurement_results.PageMeasurementResults()
196 results.StartTest(page)
198 cycler.WillNavigateToPage(page, tab) 197 cycler.WillNavigateToPage(page, tab)
199 results.WillMeasurePage(page)
200 cycler.MeasurePage(page, tab, results) 198 cycler.MeasurePage(page, tab, results)
199 results.StopTest(page)
201 200
202 values = results.page_specific_values_for_current_page 201 values = results.all_page_specific_values
203 results.DidMeasurePage()
204
205 self.assertEqual(4, len(values)) 202 self.assertEqual(4, len(values))
206 203
207 self.assertEqual(values[0].page, page) 204 self.assertEqual(values[0].page, page)
208 chart_name = 'cold_times' if i == 0 else 'warm_times' 205 chart_name = 'cold_times' if i == 0 else 'warm_times'
209 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 206 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name)
210 self.assertEqual(values[0].units, 'ms') 207 self.assertEqual(values[0].units, 'ms')
211 208
212 for value, expected in zip(values[1:], ['gpu', 'renderer', 'browser']): 209 for value, expected in zip(values[1:], ['gpu', 'renderer', 'browser']):
213 self.assertEqual(value.page, page) 210 self.assertEqual(value.page, page)
214 self.assertEqual(value.name, 211 self.assertEqual(value.name,
215 'cpu_utilization.cpu_utilization_%s' % expected) 212 'cpu_utilization.cpu_utilization_%s' % expected)
216 self.assertEqual(value.units, '%') 213 self.assertEqual(value.units, '%')
217 214
218
219 cycler.DidNavigateToPage(page, tab) 215 cycler.DidNavigateToPage(page, tab)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698