OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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) |
OLD | NEW |