Revert of Add button to add new FSP services to Files app. (patchset #8 id:140001...
[chromium-blink-merge.git] / tools / perf / measurements / thread_times_unittest.py
blob0d40f1bd9845aebb2324f34051caef2833c25f3b
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 telemetry.core import wpr_modes
6 from telemetry import decorators
7 from telemetry.unittest_util import options_for_unittests
8 from telemetry.unittest_util import page_test_test_case
9 from telemetry.web_perf.metrics.layout import LayoutMetric
11 from measurements import smoothness_unittest
12 from measurements import thread_times
13 from metrics import timeline
16 class ThreadTimesUnitTest(page_test_test_case.PageTestTestCase):
17 def setUp(self):
18 self._options = options_for_unittests.GetCopy()
19 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
21 @decorators.Disabled('android')
22 def testBasic(self):
23 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
24 measurement = thread_times.ThreadTimes()
25 timeline_options = self._options
26 results = self.RunMeasurement(measurement, ps, options = timeline_options)
27 self.assertEquals(0, len(results.failures))
29 for category in timeline.TimelineThreadCategories.values():
30 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
31 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
32 self.assertEquals(len(cpu_time), 1)
34 for short_name in LayoutMetric.EVENTS.itervalues():
35 self.assertEquals(len(results.FindAllPageSpecificValuesNamed(
36 short_name + '_avg')), 1)
37 self.assertEquals(len(results.FindAllPageSpecificValuesNamed(
38 short_name + '_stddev')), 1)
40 def testBasicForPageWithNoGesture(self):
41 ps = self.CreateEmptyPageSet()
42 ps.AddUserStory(smoothness_unittest.AnimatedPage(ps))
44 measurement = thread_times.ThreadTimes()
45 timeline_options = self._options
46 results = self.RunMeasurement(measurement, ps, options = timeline_options)
47 self.assertEquals(0, len(results.failures))
49 for category in timeline.TimelineThreadCategories.values():
50 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
51 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
52 self.assertEquals(len(cpu_time), 1)
54 def testWithSilkDetails(self):
55 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
56 measurement = thread_times.ThreadTimes(report_silk_details=True)
57 results = self.RunMeasurement(measurement, ps, options = self._options)
58 self.assertEquals(0, len(results.failures))
60 main_thread = "renderer_main"
61 expected_trace_categories = ["blink", "cc", "idle"]
62 for trace_category in expected_trace_categories:
63 value_name = timeline.ThreadDetailResultName(main_thread, trace_category)
64 values = results.FindAllPageSpecificValuesNamed(value_name)
65 self.assertEquals(len(values), 1)
67 def testCleanUpTrace(self):
68 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)