Index: tools/telemetry/telemetry/benchmark_unittest.py |
diff --git a/tools/telemetry/telemetry/benchmark_unittest.py b/tools/telemetry/telemetry/benchmark_unittest.py |
deleted file mode 100644 |
index d26dccec9d27d4543d44b89dfae6bc397bce11b2..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/telemetry/benchmark_unittest.py |
+++ /dev/null |
@@ -1,161 +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 optparse |
-import unittest |
- |
-from telemetry import android |
-from telemetry import benchmark |
-from telemetry.testing import options_for_unittests |
-from telemetry.internal import story_runner |
-from telemetry import page |
-from telemetry.page import page_test |
-from telemetry.page import shared_page_state |
-from telemetry import story as story_module |
-from telemetry.web_perf import timeline_based_measurement |
- |
- |
-class DummyPageTest(page_test.PageTest): |
- def ValidateAndMeasurePage(self, *_): |
- pass |
- |
- |
-class TestBenchmark(benchmark.Benchmark): |
- def __init__(self, story): |
- super(TestBenchmark, self).__init__() |
- self._story_set = story_module.StorySet() |
- self._story_set.AddStory(story) |
- |
- def CreatePageTest(self, _): |
- return DummyPageTest() |
- |
- def CreateStorySet(self, _): |
- return self._story_set |
- |
- |
-class BenchmarkTest(unittest.TestCase): |
- |
- def testPageTestWithIncompatibleStory(self): |
- b = TestBenchmark(story_module.Story( |
- shared_state_class=shared_page_state.SharedPageState)) |
- with self.assertRaisesRegexp( |
- Exception, 'containing only telemetry.page.Page stories'): |
- b.Run(options_for_unittests.GetCopy()) |
- |
- state_class = story_module.SharedState |
- b = TestBenchmark(story_module.Story( |
- shared_state_class=state_class)) |
- with self.assertRaisesRegexp( |
- Exception, 'containing only telemetry.page.Page stories'): |
- b.Run(options_for_unittests.GetCopy()) |
- |
- b = TestBenchmark(android.AndroidStory(start_intent=None)) |
- with self.assertRaisesRegexp( |
- Exception, 'containing only telemetry.page.Page stories'): |
- b.Run(options_for_unittests.GetCopy()) |
- |
- def testPageTestWithCompatibleStory(self): |
- original_run_fn = story_runner.Run |
- was_run = [False] |
- def RunStub(*arg, **kwargs): |
- del arg, kwargs |
- was_run[0] = True |
- story_runner.Run = RunStub |
- |
- try: |
- options = options_for_unittests.GetCopy() |
- options.output_formats = ['none'] |
- options.suppress_gtest_report = True |
- parser = optparse.OptionParser() |
- benchmark.AddCommandLineArgs(parser) |
- options.MergeDefaultValues(parser.get_default_values()) |
- |
- b = TestBenchmark(page.Page(url='about:blank')) |
- b.Run(options) |
- finally: |
- story_runner.Run = original_run_fn |
- |
- self.assertTrue(was_run[0]) |
- |
- def testOverriddenTbmOptionsAndPageTestRaises(self): |
- class FakeTimelineBasedMeasurementOptions(object): |
- pass |
- |
- class OverrideBothBenchmark(benchmark.Benchmark): |
- def CreatePageTest(self, _): |
- return DummyPageTest() |
- def CreateTimelineBasedMeasurementOptions(self): |
- return FakeTimelineBasedMeasurementOptions() |
- |
- assertion_regex = ( |
- 'Cannot override both CreatePageTest and ' |
- 'CreateTimelineBasedMeasurementOptions') |
- with self.assertRaisesRegexp(AssertionError, assertion_regex): |
- OverrideBothBenchmark() |
- |
- def testBenchmarkMakesTbmTestByDefault(self): |
- class DefaultTbmBenchmark(benchmark.Benchmark): |
- pass |
- |
- self.assertIsInstance( |
- DefaultTbmBenchmark().CreatePageTest(options=None), |
- timeline_based_measurement.TimelineBasedMeasurement) |
- |
- def testUnknownTestTypeRaises(self): |
- class UnknownTestType(object): |
- pass |
- class UnknownTestTypeBenchmark(benchmark.Benchmark): |
- test = UnknownTestType |
- |
- type_error_regex = ( |
- '"UnknownTestType" is not a PageTest or a TimelineBasedMeasurement') |
- with self.assertRaisesRegexp(TypeError, type_error_regex): |
- UnknownTestTypeBenchmark().CreatePageTest(options=None) |
- |
- def testOverriddenTbmOptionsAndPageTestTestAttributeRaises(self): |
- class FakeTimelineBasedMeasurementOptions(object): |
- pass |
- |
- class OverrideOptionsOnPageTestBenchmark(benchmark.Benchmark): |
- test = DummyPageTest |
- def CreateTimelineBasedMeasurementOptions(self): |
- return FakeTimelineBasedMeasurementOptions() |
- |
- assertion_regex = ( |
- 'Cannot override CreateTimelineBasedMeasurementOptions ' |
- 'with a PageTest') |
- with self.assertRaisesRegexp(AssertionError, assertion_regex): |
- OverrideOptionsOnPageTestBenchmark().CreatePageTest(options=None) |
- |
- def testBenchmarkPredicate(self): |
- class PredicateBenchmark(TestBenchmark): |
- @classmethod |
- def ValueCanBeAddedPredicate(cls, value, is_first_result): |
- return False |
- |
- original_run_fn = story_runner.Run |
- validPredicate = [False] |
- |
- def RunStub(test, story_set_module, finder_options, results, |
- *args): # pylint: disable=unused-argument |
- predicate = results._value_can_be_added_predicate |
- valid = predicate == PredicateBenchmark.ValueCanBeAddedPredicate |
- validPredicate[0] = valid |
- |
- story_runner.Run = RunStub |
- |
- try: |
- options = options_for_unittests.GetCopy() |
- options.output_formats = ['none'] |
- options.suppress_gtest_report = True |
- parser = optparse.OptionParser() |
- benchmark.AddCommandLineArgs(parser) |
- options.MergeDefaultValues(parser.get_default_values()) |
- |
- b = PredicateBenchmark(page.Page(url='about:blank')) |
- b.Run(options) |
- finally: |
- story_runner.Run = original_run_fn |
- |
- self.assertTrue(validPredicate[0]) |