#!/usr/bin/env python # Copyright (c) 2012 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import os import tempfile import shutil from telemetry import multi_page_benchmark_unittest_base from perf_tools import skpicture_printer class SkPicturePrinterUnitTest( multi_page_benchmark_unittest_base.MultiPageBenchmarkUnitTestBase): def setUp(self): super(SkPicturePrinterUnitTest, self).setUp() self._outdir = tempfile.mkdtemp() def tearDown(self): shutil.rmtree(self._outdir) super(SkPicturePrinterUnitTest, self).tearDown() def CustomizeOptionsForTest(self, options): options.outdir = self._outdir def testPrintToSkPicture(self): ps = self.CreatePageSetFromFileInUnittestDataDir('non_scrollable_page.html') printer = skpicture_printer.SkPicturePrinter() all_results = self.RunBenchmark(printer, ps) self.assertEqual(0, len(all_results.page_failures)) self.assertEqual(1, len(all_results.page_results)) results0 = all_results.page_results[0] outdir = results0['output_path'] self.assertTrue('non_scrollable_page_html' in outdir) self.assertTrue(os.path.isdir(outdir)) self.assertEqual(['layer_0.skp'], os.listdir(outdir)) skp_file = os.path.join(outdir, 'layer_0.skp') self.assertTrue(os.path.isfile(skp_file)) self.assertTrue(os.path.getsize(skp_file) > 0)