Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / tools / perf / measurements / thread_times_unittest.py
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.
4
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
11
12 from telemetry.unittest import options_for_unittests
13
14
15
16 class ThreadTimesUnitTest(
17       page_measurement_unittest_base.PageMeasurementUnitTestBase):
18   def setUp(self):
19     self._options = options_for_unittests.GetCopy()
20     self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
21
22   @test.Disabled('android')
23   def testBasic(self):
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))
29
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)
34
35   def testBasicForPageWithNoGesture(self):
36     ps = self.CreateEmptyPageSet()
37     ps.AddPage(smoothness_unittest.AnimatedPage(ps))
38
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))
43
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)
48
49
50   def testCleanUpTrace(self):
51     self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)