Chromium Code Reviews| 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 |