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