| OLD | NEW |
| 1 # Copyright 2015 The Chromium Authors. All rights reserved. | 1 # Copyright 2015 The Chromium Authors. All rights reserved. |
| 2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
| 3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import os | 4 import os |
| 5 import unittest | 5 import unittest |
| 6 | 6 |
| 7 from telemetry import benchmark | 7 from telemetry import benchmark |
| 8 from telemetry.core import discover |
| 8 from telemetry.core import util | 9 from telemetry.core import util |
| 9 from telemetry.story import story_set as story_set_module | 10 from telemetry.story import story_set as story_set_module |
| 10 from telemetry.testing import fakes | 11 from telemetry.testing import fakes |
| 11 from telemetry.util import classes_util | |
| 12 | 12 |
| 13 util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock') | 13 util.AddDirToPythonPath(util.GetTelemetryDir(), 'third_party', 'mock') |
| 14 import mock # pylint: disable=import-error | 14 import mock # pylint: disable=import-error |
| 15 | 15 |
| 16 import gpu_test_base | 16 import gpu_test_base |
| 17 | 17 |
| 18 def _GetGpuDir(*subdirs): | 18 def _GetGpuDir(*subdirs): |
| 19 gpu_dir = os.path.dirname(os.path.dirname(__file__)) | 19 gpu_dir = os.path.dirname(os.path.dirname(__file__)) |
| 20 return os.path.join(gpu_dir, *subdirs) | 20 return os.path.join(gpu_dir, *subdirs) |
| 21 | 21 |
| 22 # Unit tests verifying invariants of classes in GpuTestBase. | 22 # Unit tests verifying invariants of classes in GpuTestBase. |
| 23 | 23 |
| 24 class NoOverridesTest(unittest.TestCase): | 24 class NoOverridesTest(unittest.TestCase): |
| 25 def testValidatorBase(self): | 25 def testValidatorBase(self): |
| 26 all_validators = classes_util.DiscoverClasses( | 26 all_validators = discover.DiscoverClasses( |
| 27 _GetGpuDir('gpu_tests'), _GetGpuDir(), gpu_test_base.ValidatorBase) | 27 _GetGpuDir('gpu_tests'), _GetGpuDir(), |
| 28 gpu_test_base.ValidatorBase, |
| 29 index_by_class_name=True).values() |
| 28 self.assertGreater(len(all_validators), 0) | 30 self.assertGreater(len(all_validators), 0) |
| 29 for validator in all_validators: | 31 for validator in all_validators: |
| 30 self.assertEquals(gpu_test_base.ValidatorBase.ValidateAndMeasurePage, | 32 self.assertEquals(gpu_test_base.ValidatorBase.ValidateAndMeasurePage, |
| 31 validator.ValidateAndMeasurePage, | 33 validator.ValidateAndMeasurePage, |
| 32 'Class %s should not override ValidateAndMeasurePage' | 34 'Class %s should not override ValidateAndMeasurePage' |
| 33 % validator.__name__) | 35 % validator.__name__) |
| 34 | 36 |
| 35 def testPageBase(self): | 37 def testPageBase(self): |
| 36 all_pages = classes_util.DiscoverClasses( | 38 all_pages = discover.DiscoverClasses( |
| 37 _GetGpuDir(), _GetGpuDir(), gpu_test_base.PageBase) | 39 _GetGpuDir(), _GetGpuDir(), |
| 40 gpu_test_base.PageBase, |
| 41 index_by_class_name=True).values() |
| 38 self.assertGreater(len(all_pages), 0) | 42 self.assertGreater(len(all_pages), 0) |
| 39 for page in all_pages: | 43 for page in all_pages: |
| 40 self.assertEquals(gpu_test_base.PageBase.RunNavigateSteps, | 44 self.assertEquals(gpu_test_base.PageBase.RunNavigateSteps, |
| 41 page.RunNavigateSteps, | 45 page.RunNavigateSteps, |
| 42 'Class %s should not override ValidateAndMeasurePage' | 46 'Class %s should not override ValidateAndMeasurePage' |
| 43 % page.__name__) | 47 % page.__name__) |
| 44 self.assertEquals(gpu_test_base.PageBase.RunPageInteractions, | 48 self.assertEquals(gpu_test_base.PageBase.RunPageInteractions, |
| 45 page.RunPageInteractions, | 49 page.RunPageInteractions, |
| 46 'Class %s should not override RunPageInteractions' | 50 'Class %s should not override RunPageInteractions' |
| 47 % page.__name__) | 51 % page.__name__) |
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 171 test.validator.ValidateAndMeasurePageInner = ( | 175 test.validator.ValidateAndMeasurePageInner = ( |
| 172 manager.validator.ValidateAndMeasurePageInner) | 176 manager.validator.ValidateAndMeasurePageInner) |
| 173 test.AddFakePage(page) | 177 test.AddFakePage(page) |
| 174 self.assertEqual(test.Run(finder_options), 0, | 178 self.assertEqual(test.Run(finder_options), 0, |
| 175 'Test should run with no errors') | 179 'Test should run with no errors') |
| 176 expected = [mock.call.page.RunNavigateStepsInner(mock.ANY), | 180 expected = [mock.call.page.RunNavigateStepsInner(mock.ANY), |
| 177 mock.call.page.RunPageInteractionsInner(mock.ANY), | 181 mock.call.page.RunPageInteractionsInner(mock.ANY), |
| 178 mock.call.validator.ValidateAndMeasurePageInner( | 182 mock.call.validator.ValidateAndMeasurePageInner( |
| 179 page, mock.ANY, mock.ANY)] | 183 page, mock.ANY, mock.ANY)] |
| 180 self.assertTrue(manager.mock_calls == expected) | 184 self.assertTrue(manager.mock_calls == expected) |
| OLD | NEW |