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

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

Issue 57863002: Update page cycler to differenciate between cold and warm run by default. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix unit tests Created 7 years, 1 month 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 | Annotate | Revision Log
« 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 import unittest 4 import unittest
5 5
6 from measurements import page_cycler 6 from measurements import page_cycler
7 from telemetry.core import browser_options 7 from telemetry.core import browser_options
8 from telemetry.page import page_measurement_results 8 from telemetry.page import page_measurement_results
9 from telemetry.unittest import simple_mock 9 from telemetry.unittest import simple_mock
10 10
(...skipping 28 matching lines...) Expand all
39 def setupCycler(self, args): 39 def setupCycler(self, args):
40 cycler = page_cycler.PageCycler() 40 cycler = page_cycler.PageCycler()
41 options = browser_options.BrowserFinderOptions() 41 options = browser_options.BrowserFinderOptions()
42 parser = options.CreateParser() 42 parser = options.CreateParser()
43 cycler.AddCommandLineOptions(parser) 43 cycler.AddCommandLineOptions(parser)
44 parser.parse_args(args) 44 parser.parse_args(args)
45 cycler.CustomizeBrowserOptions(options) 45 cycler.CustomizeBrowserOptions(options)
46 46
47 return cycler 47 return cycler
48 48
49 def testOptionsColdLoadNoArgs(self): 49 def testOptionsColdLoadNoArgs(self):
tonyg 2013/11/06 18:31:49 I find the code a little hard to follow. Could we
50 cycler = self.setupCycler([]) 50 cycler = self.setupCycler([])
51 51
52 self.assertFalse(cycler._cold_runs_requested) 52 self.assertEquals(cycler._cold_run_start_index, 10)
53 self.assertEqual(cycler._number_warm_runs, 9)
54 53
55 def testOptionsColdLoadPagesetRepeat(self): 54 def testOptionsColdLoadPagesetRepeat(self):
56 cycler = self.setupCycler(['--pageset-repeat=20', '--page-repeat=2']) 55 cycler = self.setupCycler(['--pageset-repeat=20', '--page-repeat=2'])
57 56
58 self.assertFalse(cycler._cold_runs_requested) 57 self.assertEquals(cycler._cold_run_start_index, 40)
59 self.assertEqual(cycler._number_warm_runs, 38)
60 58
61 def testOptionsColdLoadRequested(self): 59 def testOptionsColdLoadRequested(self):
62 cycler = self.setupCycler(['--pageset-repeat=21', '--page-repeat=2', 60 cycler = self.setupCycler(['--pageset-repeat=21', '--page-repeat=2',
63 '--cold-load-percent=40']) 61 '--cold-load-percent=40'])
64 62
65 self.assertTrue(cycler._cold_runs_requested) 63 self.assertEquals(cycler._cold_run_start_index, 26)
66 self.assertEqual(cycler._number_warm_runs, 24)
67 64
68 def testIncompatibleOptions(self): 65 def testIncompatibleOptions(self):
69 exception_seen = False 66 exception_seen = False
70 try: 67 try:
71 self.setupCycler(['--pageset-repeat=20s', '--page-repeat=2s', 68 self.setupCycler(['--pageset-repeat=20s', '--page-repeat=2s',
72 '--cold-load-percent=40']) 69 '--cold-load-percent=40'])
73 except Exception as e: 70 except Exception as e:
74 exception_seen = True 71 exception_seen = True
75 self.assertEqual('--cold-load-percent is incompatible with ' 72 self.assertEqual('--cold-load-percent is incompatible with '
76 'timed repeat', e.args[0]) 73 'timed repeat', e.args[0])
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 results.WillMeasurePage(page) 121 results.WillMeasurePage(page)
125 cycler.MeasurePage(page, tab, results) 122 cycler.MeasurePage(page, tab, results)
126 results.DidMeasurePage() 123 results.DidMeasurePage()
127 self.assertEqual(num_results+1, len(results.page_results)) 124 self.assertEqual(num_results+1, len(results.page_results))
128 result = results[-1] 125 result = results[-1]
129 self.assertEqual(result.page, page) 126 self.assertEqual(result.page, page)
130 self.assertEqual(1, len(result.values)) 127 self.assertEqual(1, len(result.values))
131 self.assertEqual(result.values[0].trace_name, 'page_load_time') 128 self.assertEqual(result.values[0].trace_name, 'page_load_time')
132 self.assertEqual(result.values[0].units, 'ms') 129 self.assertEqual(result.values[0].units, 'ms')
133 self.assertEqual(result.values[0].chart_name, 130 self.assertEqual(result.values[0].chart_name,
134 'warm_times' if i < 3 else 'cold_times') 131 'warm_times' if i > 0 and i < 3 else 'cold_times')
135 cycler.DidNavigateToPage(page, tab) 132 cycler.DidNavigateToPage(page, tab)
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