Chromium Code Reviews| Index: tools/perf/contrib/cluster_telemetry/screenshot_unittest.py |
| diff --git a/tools/perf/contrib/cluster_telemetry/screenshot_unittest.py b/tools/perf/contrib/cluster_telemetry/screenshot_unittest.py |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..bd7210443c27c4f362a090d09695c728180db359 |
| --- /dev/null |
| +++ b/tools/perf/contrib/cluster_telemetry/screenshot_unittest.py |
| @@ -0,0 +1,36 @@ |
| +# Copyright 2017 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 platform |
| +import shutil |
| +import tempfile |
| + |
| +from telemetry.testing import options_for_unittests |
| +from telemetry.testing import page_test_test_case |
| +from contrib.cluster_telemetry import screenshot |
| + |
| +class ScreenshotUnitTest(page_test_test_case.PageTestTestCase): |
| + |
| + def setUp(self): |
| + self._options = options_for_unittests.GetCopy() |
| + self._png_outdir = tempfile.mkdtemp('_png_test') |
| + |
| + def tearDown(self): |
| + shutil.rmtree(self._png_outdir) |
| + |
| + def testScreenshot(self): |
| + page_set = self.CreateStorySetFromFileInUnittestDataDir('blank.html') |
| + measurement = screenshot.Screenshot(self._png_outdir) |
| + results = self.RunMeasurement(measurement, page_set, options=self._options) |
| + |
| + # Screenshots not supported if failure occurs on Linux |
| + if results.failures and platform.system() == 'Linux': |
|
wkorman
2017/06/08 23:14:41
Don't we want the inverse? If it's Linux, we want
|
| + assert 'not supported' in results.failures[0].exc_info[1].message |
| + return |
| + |
| + path = self._png_outdir + '/' + page_set.stories[0].file_safe_name + '.png' |
| + self.assertTrue(os.path.exists(path)) |
| + self.assertTrue(os.path.isfile(path)) |
| + self.assertTrue(os.access(path, os.R_OK)) |