OLD | NEW |
(Empty) | |
| 1 # Copyright 2017 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 import os |
| 5 |
| 6 from telemetry import story |
| 7 from telemetry.page import page as page_module |
| 8 from telemetry.testing import options_for_unittests |
| 9 from telemetry.testing import page_test_test_case |
| 10 |
| 11 from benchmarks import blink_perf |
| 12 |
| 13 |
| 14 class BlinkPerfTest(page_test_test_case.PageTestTestCase): |
| 15 _BLINK_PERF_TEST_DATA_DIR = os.path.join(os.path.dirname(__file__), |
| 16 '..', '..', '..', 'third_party', 'WebKit', 'PerformanceTests', |
| 17 'TestData') |
| 18 |
| 19 _BLINK_PERF_RESOURCES_DIR = os.path.join(os.path.dirname(__file__), |
| 20 '..', '..', '..', 'third_party', 'WebKit', 'PerformanceTests', |
| 21 'resources') |
| 22 def setUp(self): |
| 23 self._options = options_for_unittests.GetCopy() |
| 24 # pylint: disable=protected-access |
| 25 self._measurement = blink_perf._BlinkPerfMeasurement() |
| 26 # pylint: enable=protected-access |
| 27 |
| 28 def _CreateStorySetForTestFile(self, test_file_name): |
| 29 story_set = story.StorySet(base_dir=self._BLINK_PERF_TEST_DATA_DIR, |
| 30 serving_dirs={self._BLINK_PERF_TEST_DATA_DIR, |
| 31 self._BLINK_PERF_RESOURCES_DIR}) |
| 32 page = page_module.Page('file://' + test_file_name, story_set, |
| 33 base_dir=story_set.base_dir) |
| 34 story_set.AddStory(page) |
| 35 return story_set |
| 36 |
| 37 def testBlinkPerfTracingMetricsForMeasureTime(self): |
| 38 results = self.RunMeasurement(measurement=self._measurement, |
| 39 ps=self._CreateStorySetForTestFile('append-child-measure-time.html'), |
| 40 options=self._options) |
| 41 self.assertFalse(results.failures) |
| 42 self.assertEquals(len(results.FindAllTraceValues()), 1) |
| 43 |
| 44 frame_view_layouts = results.FindAllPageSpecificValuesNamed( |
| 45 'FrameView::layout') |
| 46 self.assertEquals(1, len(frame_view_layouts)) |
| 47 self.assertGreater(frame_view_layouts[0].GetRepresentativeNumber, 0.1) |
| 48 |
| 49 update_layout_trees = results.FindAllPageSpecificValuesNamed( |
| 50 'UpdateLayoutTree') |
| 51 self.assertEquals(1, len(update_layout_trees)) |
| 52 self.assertGreater(update_layout_trees[0].GetRepresentativeNumber, 0.1) |
| 53 |
| 54 def testBlinkPerfTracingMetricsForMeasureFrameTime(self): |
| 55 results = self.RunMeasurement(measurement=self._measurement, |
| 56 ps=self._CreateStorySetForTestFile( |
| 57 'color-changes-measure-frame-time.html'), |
| 58 options=self._options) |
| 59 self.assertFalse(results.failures) |
| 60 self.assertEquals(len(results.FindAllTraceValues()), 1) |
| 61 |
| 62 frame_view_prepaints = results.FindAllPageSpecificValuesNamed( |
| 63 'FrameView::prePaint') |
| 64 self.assertEquals(1, len(frame_view_prepaints)) |
| 65 self.assertGreater(frame_view_prepaints[0].GetRepresentativeNumber, 0.1) |
| 66 |
| 67 frame_view_painttrees = results.FindAllPageSpecificValuesNamed( |
| 68 'FrameView::paintTree') |
| 69 self.assertEquals(1, len(frame_view_painttrees)) |
| 70 self.assertGreater(frame_view_painttrees[0].GetRepresentativeNumber, 0.1) |
OLD | NEW |