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

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

Issue 2029483002: [PCv1] Avoid using dot in metrics name (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix typo Created 4 years, 6 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/perf/measurements/page_cycler.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 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 sys 5 import sys
6 import unittest 6 import unittest
7 7
8 from telemetry.internal.browser import browser_options 8 from telemetry.internal.browser import browser_options
9 from telemetry.internal.results import page_test_results 9 from telemetry.internal.results import page_test_results
10 from telemetry.internal import story_runner 10 from telemetry.internal import story_runner
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 'Iteration %d tab.clear_cache_calls %d' % 203 'Iteration %d tab.clear_cache_calls %d' %
204 (i, tab.clear_cache_calls)) 204 (i, tab.clear_cache_calls))
205 cycler.ValidateAndMeasurePage(page, tab, results) 205 cycler.ValidateAndMeasurePage(page, tab, results)
206 results.DidRunPage(page) 206 results.DidRunPage(page)
207 207
208 values = results.all_page_specific_values 208 values = results.all_page_specific_values
209 self.assertGreater(len(values), 2) 209 self.assertGreater(len(values), 2)
210 210
211 self.assertEqual(values[0].page, page) 211 self.assertEqual(values[0].page, page)
212 chart_name = 'cold_times' if i == 0 or i > 2 else 'warm_times' 212 chart_name = 'cold_times' if i == 0 or i > 2 else 'warm_times'
213 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 213 self.assertEqual(values[0].name, '%s-page_load_time' % chart_name)
214 self.assertEqual(values[0].units, 'ms') 214 self.assertEqual(values[0].units, 'ms')
215 215
216 cycler.DidNavigateToPage(page, tab) 216 cycler.DidNavigateToPage(page, tab)
217 217
218 def testColdWarm(self): 218 def testColdWarm(self):
219 cycler = self.SetUpCycler(pageset_repeat=3, setup_memory_module=True) 219 cycler = self.SetUpCycler(pageset_repeat=3, setup_memory_module=True)
220 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')] 220 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')]
221 tab = FakeTab() 221 tab = FakeTab()
222 for i in range(3): 222 for i in range(3):
223 for page in pages: 223 for page in pages:
224 results = page_test_results.PageTestResults() 224 results = page_test_results.PageTestResults()
225 results.WillRunPage(page) 225 results.WillRunPage(page)
226 cycler.WillNavigateToPage(page, tab) 226 cycler.WillNavigateToPage(page, tab)
227 cycler.ValidateAndMeasurePage(page, tab, results) 227 cycler.ValidateAndMeasurePage(page, tab, results)
228 results.DidRunPage(page) 228 results.DidRunPage(page)
229 229
230 values = results.all_page_specific_values 230 values = results.all_page_specific_values
231 self.assertGreater(len(values), 2) 231 self.assertGreater(len(values), 2)
232 232
233 self.assertEqual(values[0].page, page) 233 self.assertEqual(values[0].page, page)
234 234
235 chart_name = 'cold_times' if i == 0 or i > 1 else 'warm_times' 235 chart_name = 'cold_times' if i == 0 or i > 1 else 'warm_times'
236 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 236 self.assertEqual(values[0].name, '%s-page_load_time' % chart_name)
237 self.assertEqual(values[0].units, 'ms') 237 self.assertEqual(values[0].units, 'ms')
238 238
239 cycler.DidNavigateToPage(page, tab) 239 cycler.DidNavigateToPage(page, tab)
240 240
241 def testResults(self): 241 def testResults(self):
242 cycler = self.SetUpCycler(setup_memory_module=True) 242 cycler = self.SetUpCycler(setup_memory_module=True)
243 243
244 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')] 244 pages = [FakePage('http://fakepage1.com'), FakePage('http://fakepage2.com')]
245 tab = FakeTab() 245 tab = FakeTab()
246 246
247 for i in range(2): 247 for i in range(2):
248 for page in pages: 248 for page in pages:
249 results = page_test_results.PageTestResults() 249 results = page_test_results.PageTestResults()
250 results.WillRunPage(page) 250 results.WillRunPage(page)
251 cycler.WillNavigateToPage(page, tab) 251 cycler.WillNavigateToPage(page, tab)
252 cycler.ValidateAndMeasurePage(page, tab, results) 252 cycler.ValidateAndMeasurePage(page, tab, results)
253 results.DidRunPage(page) 253 results.DidRunPage(page)
254 254
255 values = results.all_page_specific_values 255 values = results.all_page_specific_values
256 256
257 # On Mac, there is an additional measurement: the number of keychain 257 # On Mac, there is an additional measurement: the number of keychain
258 # accesses. 258 # accesses.
259 value_count = 4 259 value_count = 6
260 if sys.platform == 'darwin': 260 if sys.platform == 'darwin':
261 value_count += 1 261 value_count += 1
262 self.assertEqual(value_count, len(values)) 262 self.assertEqual(value_count, len(values))
263 263
264 self.assertEqual(values[0].page, page) 264 self.assertEqual(values[0].page, page)
265 chart_name = 'cold_times' if i == 0 else 'warm_times' 265 chart_name = 'cold_times' if i == 0 else 'warm_times'
266 self.assertEqual(values[0].name, '%s.page_load_time' % chart_name) 266 self.assertEqual(values[0].name, '%s-page_load_time' % chart_name)
267 self.assertEqual(values[0].units, 'ms') 267 self.assertEqual(values[0].units, 'ms')
268 self.assertEqual(values[1].name, '%s.time_to_onload' % chart_name) 268 self.assertEqual(values[1].name, '%s-time_to_onload' % chart_name)
269 self.assertEqual(values[1].units, 'ms') 269 self.assertEqual(values[1].units, 'ms')
270 270
271 expected_values = ['gpu', 'browser'] 271 expected_values = ['gpu', 'browser']
272 for value, expected in zip(values[2:len(expected_values) + 1], 272 for value, expected in zip(values[4:len(expected_values) + 1],
273 expected_values): 273 expected_values):
274 self.assertEqual(value.page, page) 274 self.assertEqual(value.page, page)
275 self.assertEqual(value.name, 275 self.assertEqual(value.name,
276 'cpu_utilization.cpu_utilization_%s' % expected) 276 'cpu_utilization.cpu_utilization_%s' % expected)
277 self.assertEqual(value.units, '%') 277 self.assertEqual(value.units, '%')
278 278
279 cycler.DidNavigateToPage(page, tab) 279 cycler.DidNavigateToPage(page, tab)
280 280
281 def testLegacyPagesAvoidCrossRenderNavigation(self): 281 def testLegacyPagesAvoidCrossRenderNavigation(self):
282 # For legacy page cyclers with file URLs, verify that WillNavigateToPage 282 # For legacy page cyclers with file URLs, verify that WillNavigateToPage
283 # does an initial navigate to avoid paying for a cross-renderer navigation. 283 # does an initial navigate to avoid paying for a cross-renderer navigation.
284 cycler = self.SetUpCycler(setup_memory_module=True) 284 cycler = self.SetUpCycler(setup_memory_module=True)
285 pages = [FakePage('file://fakepage1.com'), FakePage('file://fakepage2.com')] 285 pages = [FakePage('file://fakepage1.com'), FakePage('file://fakepage2.com')]
286 tab = FakeTab() 286 tab = FakeTab()
287 287
288 self.assertEqual([], tab.navigated_urls) 288 self.assertEqual([], tab.navigated_urls)
289 for page in pages * 2: 289 for page in pages * 2:
290 cycler.WillNavigateToPage(page, tab) 290 cycler.WillNavigateToPage(page, tab)
291 self.assertEqual( 291 self.assertEqual(
292 ['http://fakeserver:99999/nonexistent.html'], tab.navigated_urls) 292 ['http://fakeserver:99999/nonexistent.html'], tab.navigated_urls)
OLDNEW
« no previous file with comments | « tools/perf/measurements/page_cycler.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698