| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| from measurements import thread_times |
| from measurements import smoothness_unittest |
| from metrics import timeline |
| from telemetry import test |
| from telemetry.core import wpr_modes |
| from telemetry.page import page_measurement_unittest_base |
| |
| from telemetry.unittest import options_for_unittests |
| |
| |
| |
| class ThreadTimesUnitTest( |
| page_measurement_unittest_base.PageMeasurementUnitTestBase): |
| def setUp(self): |
| self._options = options_for_unittests.GetCopy() |
| self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF |
| |
| @test.Disabled('android') |
| def testBasic(self): |
| ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html') |
| measurement = thread_times.ThreadTimes() |
| timeline_options = self._options |
| results = self.RunMeasurement(measurement, ps, options = timeline_options) |
| self.assertEquals(0, len(results.failures)) |
| |
| for category in timeline.TimelineThreadCategories.values(): |
| cpu_time_name = timeline.ThreadCpuTimeResultName(category) |
| cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) |
| self.assertEquals(len(cpu_time), 1) |
| |
| def testBasicForPageWithNoGesture(self): |
| ps = self.CreateEmptyPageSet() |
| ps.AddPage(smoothness_unittest.AnimatedPage(ps)) |
| |
| measurement = thread_times.ThreadTimes() |
| timeline_options = self._options |
| results = self.RunMeasurement(measurement, ps, options = timeline_options) |
| self.assertEquals(0, len(results.failures)) |
| |
| for category in timeline.TimelineThreadCategories.values(): |
| cpu_time_name = timeline.ThreadCpuTimeResultName(category) |
| cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) |
| self.assertEquals(len(cpu_time), 1) |
| |
| |
| def testCleanUpTrace(self): |
| self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options) |