15d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Copyright 2014 The Chromium Authors. All rights reserved. 25d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be 35d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)# found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 55d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)import shutil 65d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)import tempfile 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 85d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)from measurements import skpicture_printer 95d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)from telemetry.unittest import options_for_unittests 106e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)from telemetry.unittest import page_test_test_case 11116680a4aac90f2aa7413d9095a592090648e557Ben Murdochfrom telemetry.unittest import test 125d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 135d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 146e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)class SkpicturePrinterUnitTest(page_test_test_case.PageTestTestCase): 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def setUp(self): 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) self._options = options_for_unittests.GetCopy() 175d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) self._options.skp_outdir = tempfile.mkdtemp('_skp_test') 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 195d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def tearDown(self): 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) shutil.rmtree(self._options.skp_outdir) 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 220529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch @test.Disabled('android') 235d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) def testSkpicturePrinter(self): 245d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html') 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) measurement = skpicture_printer.SkpicturePrinter() 265d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) results = self.RunMeasurement(measurement, ps, options=self._options) 275d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 285d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) # Picture printing is not supported on all platforms. 295d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) if results.failures: 305f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) assert 'not supported' in results.failures[0].exc_info[1].message 315d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) return 325d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) saved_picture_count = results.FindAllPageSpecificValuesNamed( 345d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) 'saved_picture_count') 355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) self.assertEquals(len(saved_picture_count), 1) 365d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) self.assertGreater(saved_picture_count[0].GetRepresentativeNumber(), 0) 37