Mojo C++ bindings: better log message for serialization warnings.
[chromium-blink-merge.git] / tools / perf / measurements / rasterize_and_record_micro_unittest.py
blob871de8b93d06cf3ac3b0d71061eb3fcf67391796
1 # Copyright 2013 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 import logging
7 from measurements import rasterize_and_record_micro
8 from telemetry.core import wpr_modes
9 from telemetry.page import page_test
10 from telemetry.unittest import options_for_unittests
11 from telemetry.unittest import page_test_test_case
12 from telemetry.unittest import test
15 class RasterizeAndRecordMicroUnitTest(page_test_test_case.PageTestTestCase):
16 """Smoke test for rasterize_and_record_micro measurement
18 Runs rasterize_and_record_micro measurement on a simple page and verifies
19 that all metrics were added to the results. The test is purely functional,
20 i.e. it only checks if the metrics are present and non-zero.
21 """
23 def setUp(self):
24 self._options = options_for_unittests.GetCopy()
25 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
26 self._options.rasterize_repeat = 1
27 self._options.record_repeat = 1
28 self._options.start_wait_time = 0.0
29 self._options.report_detailed_results = True
31 @test.Disabled('win')
32 def testRasterizeAndRecordMicro(self):
33 ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
34 measurement = rasterize_and_record_micro.RasterizeAndRecordMicro()
35 try:
36 results = self.RunMeasurement(measurement, ps, options=self._options)
37 except page_test.TestNotSupportedOnPlatformFailure as failure:
38 logging.warning(str(failure))
39 return
40 self.assertEquals(0, len(results.failures))
42 rasterize_time = results.FindAllPageSpecificValuesNamed('rasterize_time')
43 self.assertEquals(len(rasterize_time), 1)
44 self.assertGreater(rasterize_time[0].GetRepresentativeNumber(), 0)
46 record_time = results.FindAllPageSpecificValuesNamed('record_time')
47 self.assertEquals(len(record_time), 1)
48 self.assertGreater(record_time[0].GetRepresentativeNumber(), 0)
50 rasterized_pixels = results.FindAllPageSpecificValuesNamed(
51 'pixels_rasterized')
52 self.assertEquals(len(rasterized_pixels), 1)
53 self.assertGreater(rasterized_pixels[0].GetRepresentativeNumber(), 0)
55 recorded_pixels = results.FindAllPageSpecificValuesNamed('pixels_recorded')
56 self.assertEquals(len(recorded_pixels), 1)
57 self.assertGreater(recorded_pixels[0].GetRepresentativeNumber(), 0)
59 pixels_rasterized_with_non_solid_color = \
60 results.FindAllPageSpecificValuesNamed(
61 'pixels_rasterized_with_non_solid_color')
62 self.assertEquals(len(pixels_rasterized_with_non_solid_color), 1)
63 self.assertGreater(
64 pixels_rasterized_with_non_solid_color[0].GetRepresentativeNumber(), 0)
66 pixels_rasterized_as_opaque = \
67 results.FindAllPageSpecificValuesNamed('pixels_rasterized_as_opaque')
68 self.assertEquals(len(pixels_rasterized_as_opaque), 1)
69 self.assertGreater(
70 pixels_rasterized_as_opaque[0].GetRepresentativeNumber(), 0)
72 total_layers = results.FindAllPageSpecificValuesNamed('total_layers')
73 self.assertEquals(len(total_layers), 1)
74 self.assertGreater(total_layers[0].GetRepresentativeNumber(), 0)
76 total_picture_layers = \
77 results.FindAllPageSpecificValuesNamed('total_picture_layers')
78 self.assertEquals(len(total_picture_layers), 1)
79 self.assertGreater(total_picture_layers[0].GetRepresentativeNumber(), 0)
81 total_picture_layers_with_no_content = \
82 results.FindAllPageSpecificValuesNamed(
83 'total_picture_layers_with_no_content')
84 self.assertEquals(len(total_picture_layers_with_no_content), 1)
85 self.assertGreater(
86 total_picture_layers_with_no_content[0].GetRepresentativeNumber(), 0)
88 total_picture_layers_off_screen = \
89 results.FindAllPageSpecificValuesNamed(
90 'total_picture_layers_off_screen')
91 self.assertEquals(len(total_picture_layers_off_screen), 1)
92 self.assertEqual(
93 total_picture_layers_off_screen[0].GetRepresentativeNumber(), 0)