Explicitly add python-numpy dependency to install-build-deps.
[chromium-blink-merge.git] / tools / perf / measurements / thread_times_unittest.py
blob44d7bd33221f3a10b36d2e1314dfac9653a4a0ae
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.core import wpr_modes
9 from telemetry.unittest_util import options_for_unittests
10 from telemetry.unittest_util import page_test_test_case
11 from telemetry.unittest_util import test
15 class ThreadTimesUnitTest(page_test_test_case.PageTestTestCase):
16 def setUp(self):
17 self._options = options_for_unittests.GetCopy()
18 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
20 @test.Disabled('android')
21 def testBasic(self):
22 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
23 measurement = thread_times.ThreadTimes()
24 timeline_options = self._options
25 results = self.RunMeasurement(measurement, ps, options = timeline_options)
26 self.assertEquals(0, len(results.failures))
28 for category in timeline.TimelineThreadCategories.values():
29 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
30 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
31 self.assertEquals(len(cpu_time), 1)
33 def testBasicForPageWithNoGesture(self):
34 ps = self.CreateEmptyPageSet()
35 ps.AddPage(smoothness_unittest.AnimatedPage(ps))
37 measurement = thread_times.ThreadTimes()
38 timeline_options = self._options
39 results = self.RunMeasurement(measurement, ps, options = timeline_options)
40 self.assertEquals(0, len(results.failures))
42 for category in timeline.TimelineThreadCategories.values():
43 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
44 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
45 self.assertEquals(len(cpu_time), 1)
47 def testWithSilkDetails(self):
48 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
49 measurement = thread_times.ThreadTimes(report_silk_details=True)
50 results = self.RunMeasurement(measurement, ps, options = self._options)
51 self.assertEquals(0, len(results.failures))
53 main_thread = "renderer_main"
54 expected_trace_categories = ["blink", "cc", "idle"]
55 for trace_category in expected_trace_categories:
56 value_name = timeline.ThreadDetailResultName(main_thread, trace_category)
57 values = results.FindAllPageSpecificValuesNamed(value_name)
58 self.assertEquals(len(values), 1)
60 def testCleanUpTrace(self):
61 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)