1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
5 from measurements import thread_times
6 from measurements import smoothness_unittest
7 from metrics import timeline
8 from telemetry import test
9 from telemetry.core import wpr_modes
10 from telemetry.page import page_measurement_unittest_base
12 from telemetry.unittest import options_for_unittests
16 class ThreadTimesUnitTest(
17 page_measurement_unittest_base.PageMeasurementUnitTestBase):
19 self._options = options_for_unittests.GetCopy()
20 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
22 @test.Disabled('android')
24 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
25 measurement = thread_times.ThreadTimes()
26 timeline_options = self._options
27 results = self.RunMeasurement(measurement, ps, options = timeline_options)
28 self.assertEquals(0, len(results.failures))
30 for category in timeline.TimelineThreadCategories.values():
31 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
32 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
33 self.assertEquals(len(cpu_time), 1)
35 def testBasicForPageWithNoGesture(self):
36 ps = self.CreateEmptyPageSet()
37 ps.AddPage(smoothness_unittest.AnimatedPage(ps))
39 measurement = thread_times.ThreadTimes()
40 timeline_options = self._options
41 results = self.RunMeasurement(measurement, ps, options = timeline_options)
42 self.assertEquals(0, len(results.failures))
44 for category in timeline.TimelineThreadCategories.values():
45 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
46 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
47 self.assertEquals(len(cpu_time), 1)
50 def testCleanUpTrace(self):
51 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)