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 from measurements import rasterize_and_record
6 from telemetry import test
7 from telemetry.core import wpr_modes
8 from telemetry.page import page_measurement_unittest_base
9 from telemetry.unittest import options_for_unittests
12 class RasterizeAndRecordUnitTest(
13 page_measurement_unittest_base.PageMeasurementUnitTestBase):
14 """Smoke test for rasterize_and_record measurement
16 Runs rasterize_and_record measurement on a simple page and verifies that
17 all metrics were added to the results. The test is purely functional,
18 i.e. it only checks if the metrics are present and non-zero.
22 self._options = options_for_unittests.GetCopy()
23 self._options.browser_options.wpr_mode = wpr_modes.WPR_OFF
24 self._options.raster_record_repeat = 1
25 self._options.start_wait_time = 0.0
26 self._options.stop_wait_time = 2.0
29 def testRasterizeAndRecord(self):
30 ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html')
31 measurement = rasterize_and_record.RasterizeAndRecord()
32 results = self.RunMeasurement(measurement, ps, options=self._options)
33 self.assertEquals(0, len(results.failures))
35 rasterize_time = results.FindAllPageSpecificValuesNamed('rasterize_time')
36 self.assertEquals(len(rasterize_time), 1)
37 self.assertGreater(rasterize_time[0].GetRepresentativeNumber(), 0)
39 record_time = results.FindAllPageSpecificValuesNamed('record_time')
40 self.assertEquals(len(record_time), 1)
41 self.assertGreater(record_time[0].GetRepresentativeNumber(), 0)
43 rasterized_pixels = results.FindAllPageSpecificValuesNamed(
45 self.assertEquals(len(rasterized_pixels), 1)
46 self.assertGreater(rasterized_pixels[0].GetRepresentativeNumber(), 0)
48 recorded_pixels = results.FindAllPageSpecificValuesNamed('recorded_pixels')
49 self.assertEquals(len(recorded_pixels), 1)
50 self.assertGreater(recorded_pixels[0].GetRepresentativeNumber(), 0)
52 def testCleanUpTrace(self):
53 self.TestTracingCleanedUp(rasterize_and_record.RasterizeAndRecord,