| Index: tools/telemetry/telemetry/benchmark_run_unittest.py
|
| diff --git a/tools/telemetry/telemetry/benchmark_run_unittest.py b/tools/telemetry/telemetry/benchmark_run_unittest.py
|
| deleted file mode 100644
|
| index 215ee5d0f75345e5eb2391a0470ea4069ee67566..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/benchmark_run_unittest.py
|
| +++ /dev/null
|
| @@ -1,114 +0,0 @@
|
| -# Copyright 2014 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 unittest
|
| -
|
| -from telemetry import benchmark as benchmark_module
|
| -from telemetry import page as page_module
|
| -from telemetry.page import page_test
|
| -from telemetry import story as story_module
|
| -from telemetry.testing import fakes
|
| -import mock
|
| -
|
| -
|
| -# pylint: disable=abstract-method
|
| -class DummyPageTest(page_test.PageTest):
|
| - def __init__(self):
|
| - super(DummyPageTest, self).__init__()
|
| - # Without disabling the above warning, this complains that
|
| - # ValidateAndMeasurePage is abstract; but defining it complains
|
| - # that its definition is overridden here.
|
| - self.ValidateAndMeasurePage = mock.Mock()
|
| -
|
| -
|
| -# More end-to-end tests of Benchmark, shared_page_state and associated
|
| -# classes using telemetry.testing.fakes, to avoid needing to construct
|
| -# a real browser instance.
|
| -
|
| -class FakePage(page_module.Page):
|
| - def __init__(self, page_set):
|
| - super(FakePage, self).__init__(
|
| - url='http://nonexistentserver.com/nonexistentpage.html',
|
| - page_set=page_set,
|
| - shared_page_state_class=fakes.FakeSharedPageState)
|
| - self.RunNavigateSteps = mock.Mock()
|
| - self.RunPageInteractions = mock.Mock()
|
| -
|
| -class FakeBenchmark(benchmark_module.Benchmark):
|
| - def __init__(self, max_failures=None):
|
| - super(FakeBenchmark, self).__init__(max_failures)
|
| - self._fake_pages = []
|
| - self._fake_story_set = story_module.StorySet()
|
| - self._created_story_set = False
|
| - self.validator = DummyPageTest()
|
| -
|
| - def CreatePageTest(self, options):
|
| - return self.validator
|
| -
|
| - def GetFakeStorySet(self):
|
| - return self._fake_story_set
|
| -
|
| - def AddFakePage(self, page):
|
| - if self._created_story_set:
|
| - raise Exception('Can not add any more fake pages')
|
| - self._fake_pages.append(page)
|
| -
|
| - def CreateStorySet(self, options):
|
| - if self._created_story_set:
|
| - raise Exception('Can only create the story set once per FakeBenchmark')
|
| - for page in self._fake_pages:
|
| - self._fake_story_set.AddStory(page)
|
| - self._created_story_set = True
|
| - return self._fake_story_set
|
| -
|
| -
|
| -class FailingPage(FakePage):
|
| - def __init__(self, page_set):
|
| - super(FailingPage, self).__init__(page_set)
|
| - self.RunNavigateSteps.side_effect = Exception('Deliberate exception')
|
| -
|
| -
|
| -class BenchmarkRunTest(unittest.TestCase):
|
| - def setupBenchmark(self):
|
| - finder_options = fakes.CreateBrowserFinderOptions()
|
| - finder_options.browser_options.platform = fakes.FakeLinuxPlatform()
|
| - finder_options.output_formats = ['none']
|
| - finder_options.suppress_gtest_report = True
|
| - finder_options.output_dir = None
|
| - finder_options.upload_bucket = 'public'
|
| - finder_options.upload_results = False
|
| - benchmarkclass = FakeBenchmark
|
| - parser = finder_options.CreateParser()
|
| - benchmark_module.AddCommandLineArgs(parser)
|
| - benchmarkclass.AddCommandLineArgs(parser)
|
| - options, _ = parser.parse_args([])
|
| - benchmark_module.ProcessCommandLineArgs(parser, options)
|
| - benchmarkclass.ProcessCommandLineArgs(parser, options)
|
| - benchmark = benchmarkclass()
|
| - return benchmark, finder_options
|
| -
|
| - def testPassingPage(self):
|
| - benchmark, finder_options = self.setupBenchmark()
|
| - manager = mock.Mock()
|
| - page = FakePage(benchmark.GetFakeStorySet())
|
| - page.RunNavigateSteps = manager.page.RunNavigateSteps
|
| - page.RunPageInteractions = manager.page.RunPageInteractions
|
| - benchmark.validator.ValidateAndMeasurePage = (
|
| - manager.validator.ValidateAndMeasurePage)
|
| - benchmark.AddFakePage(page)
|
| - self.assertEqual(benchmark.Run(finder_options), 0,
|
| - 'Test should run with no errors')
|
| - expected = [mock.call.page.RunNavigateSteps(mock.ANY),
|
| - mock.call.page.RunPageInteractions(mock.ANY),
|
| - mock.call.validator.ValidateAndMeasurePage(
|
| - page, mock.ANY, mock.ANY)]
|
| - self.assertTrue(manager.mock_calls == expected)
|
| -
|
| -
|
| - def testFailingPage(self):
|
| - benchmark, finder_options = self.setupBenchmark()
|
| - page = FailingPage(benchmark.GetFakeStorySet())
|
| - benchmark.AddFakePage(page)
|
| - self.assertNotEqual(benchmark.Run(finder_options), 0, 'Test should fail')
|
| - self.assertFalse(page.RunPageInteractions.called)
|
|
|