Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(185)

Side by Side Diff: tools/perf/measurements/thread_times_unittest.py

Issue 979243003: Simplify LayoutMetric. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 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 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 from telemetry.core import wpr_modes 5 from telemetry.core import wpr_modes
6 from telemetry import decorators 6 from telemetry import decorators
7 from telemetry.unittest_util import options_for_unittests 7 from telemetry.unittest_util import options_for_unittests
8 from telemetry.unittest_util import page_test_test_case 8 from telemetry.unittest_util import page_test_test_case
9 from telemetry.web_perf.metrics.layout import LayoutMetric
10 9
11 from measurements import smoothness_unittest 10 from measurements import smoothness_unittest
12 from measurements import thread_times 11 from measurements import thread_times
13 from metrics import timeline 12 from metrics import timeline
14 13
15 14
16 class ThreadTimesUnitTest(page_test_test_case.PageTestTestCase): 15 class ThreadTimesUnitTest(page_test_test_case.PageTestTestCase):
17 def setUp(self): 16 def setUp(self):
18 self._options = options_for_unittests.GetCopy() 17 self._options = options_for_unittests.GetCopy()
19 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF 18 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
20 19
21 @decorators.Disabled('android') 20 @decorators.Disabled('android')
22 def testBasic(self): 21 def testBasic(self):
23 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html') 22 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
24 measurement = thread_times.ThreadTimes() 23 measurement = thread_times.ThreadTimes()
25 timeline_options = self._options 24 timeline_options = self._options
26 results = self.RunMeasurement(measurement, ps, options = timeline_options) 25 results = self.RunMeasurement(measurement, ps, options = timeline_options)
27 self.assertEquals(0, len(results.failures)) 26 self.assertFalse(len(results.failures), results.failures)
28 27
29 for category in timeline.TimelineThreadCategories.values(): 28 for category in timeline.TimelineThreadCategories.values():
30 cpu_time_name = timeline.ThreadCpuTimeResultName(category) 29 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
31 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) 30 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
32 self.assertEquals(len(cpu_time), 1) 31 self.assertEquals(len(cpu_time), 1)
33 32
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)
39
40 def testBasicForPageWithNoGesture(self): 33 def testBasicForPageWithNoGesture(self):
41 ps = self.CreateEmptyPageSet() 34 ps = self.CreateEmptyPageSet()
42 ps.AddUserStory(smoothness_unittest.AnimatedPage(ps)) 35 ps.AddUserStory(smoothness_unittest.AnimatedPage(ps))
43 36
44 measurement = thread_times.ThreadTimes() 37 measurement = thread_times.ThreadTimes()
45 timeline_options = self._options 38 timeline_options = self._options
46 results = self.RunMeasurement(measurement, ps, options = timeline_options) 39 results = self.RunMeasurement(measurement, ps, options = timeline_options)
47 self.assertEquals(0, len(results.failures)) 40 self.assertEquals(0, len(results.failures))
48 41
49 for category in timeline.TimelineThreadCategories.values(): 42 for category in timeline.TimelineThreadCategories.values():
50 cpu_time_name = timeline.ThreadCpuTimeResultName(category) 43 cpu_time_name = timeline.ThreadCpuTimeResultName(category)
51 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name) 44 cpu_time = results.FindAllPageSpecificValuesNamed(cpu_time_name)
52 self.assertEquals(len(cpu_time), 1) 45 self.assertEquals(len(cpu_time), 1)
53 46
54 def testWithSilkDetails(self): 47 def testWithSilkDetails(self):
55 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html') 48 ps = self.CreatePageSetFromFileInUnittestDataDir('scrollable_page.html')
56 measurement = thread_times.ThreadTimes(report_silk_details=True) 49 measurement = thread_times.ThreadTimes(report_silk_details=True)
57 results = self.RunMeasurement(measurement, ps, options = self._options) 50 results = self.RunMeasurement(measurement, ps, options = self._options)
58 self.assertEquals(0, len(results.failures)) 51 self.assertEquals(0, len(results.failures))
59 52
60 main_thread = "renderer_main" 53 main_thread = "renderer_main"
61 expected_trace_categories = ["blink", "cc", "idle"] 54 expected_trace_categories = ["blink", "cc", "idle"]
62 for trace_category in expected_trace_categories: 55 for trace_category in expected_trace_categories:
63 value_name = timeline.ThreadDetailResultName(main_thread, trace_category) 56 value_name = timeline.ThreadDetailResultName(main_thread, trace_category)
64 values = results.FindAllPageSpecificValuesNamed(value_name) 57 values = results.FindAllPageSpecificValuesNamed(value_name)
65 self.assertEquals(len(values), 1) 58 self.assertEquals(len(values), 1)
66 59
67 def testCleanUpTrace(self): 60 def testCleanUpTrace(self):
68 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options) 61 self.TestTracingCleanedUp(thread_times.ThreadTimes, self._options)
OLDNEW
« no previous file with comments | « tools/perf/measurements/thread_times.py ('k') | tools/telemetry/telemetry/web_perf/metrics/layout.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698