| Index: tools/telemetry/telemetry/multi_page_benchmark.py
|
| diff --git a/tools/telemetry/telemetry/multi_page_benchmark.py b/tools/telemetry/telemetry/multi_page_benchmark.py
|
| deleted file mode 100644
|
| index 3dbfad7e166a5ed2ca2cf4b0fa45eecb1c79224a..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/telemetry/multi_page_benchmark.py
|
| +++ /dev/null
|
| @@ -1,86 +0,0 @@
|
| -# Copyright (c) 2012 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.
|
| -from telemetry import page_test
|
| -
|
| -class MeasurementFailure(page_test.Failure):
|
| - """Exception that can be thrown from MeasurePage to indicate an undesired but
|
| - designed-for problem."""
|
| - pass
|
| -
|
| -# TODO(nduca): Rename to page_benchmark
|
| -class MultiPageBenchmark(page_test.PageTest):
|
| - """Glue code for running a benchmark across a set of pages.
|
| -
|
| - To use this, subclass from the benchmark and override MeasurePage. For
|
| - example:
|
| -
|
| - class BodyChildElementBenchmark(MultiPageBenchmark):
|
| - def MeasurePage(self, page, tab, results):
|
| - body_child_count = tab.EvaluateJavaScript(
|
| - 'document.body.children.length')
|
| - results.Add('body_children', 'count', body_child_count)
|
| -
|
| - if __name__ == '__main__':
|
| - multi_page_benchmark.Main(BodyChildElementBenchmark())
|
| -
|
| - All benchmarks should include a unit test!
|
| -
|
| - TODO(nduca): Add explanation of how to write the unit test.
|
| -
|
| - To add test-specific options:
|
| -
|
| - class BodyChildElementBenchmark(MultiPageBenchmark):
|
| - def AddCommandLineOptions(parser):
|
| - parser.add_option('--element', action='store', default='body')
|
| -
|
| - def MeasurePage(self, page, tab, results):
|
| - body_child_count = tab.EvaluateJavaScript(
|
| - 'document.querySelector('%s').children.length')
|
| - results.Add('children', 'count', child_count)
|
| - """
|
| - def __init__(self,
|
| - action_name_to_run='',
|
| - needs_browser_restart_after_each_run=False):
|
| - super(MultiPageBenchmark, self).__init__(
|
| - '_RunTest',
|
| - action_name_to_run,
|
| - needs_browser_restart_after_each_run)
|
| -
|
| - def _RunTest(self, page, tab, results):
|
| - results.WillMeasurePage(page)
|
| - self.MeasurePage(page, tab, results)
|
| - results.DidMeasurePage()
|
| -
|
| - @property
|
| - def results_are_the_same_on_every_page(self):
|
| - """By default, benchmarks are assumed to output the same values for every
|
| - page. This allows incremental output, for example in CSV. If, however, the
|
| - benchmark discovers what values it can report as it goes, and those values
|
| - may vary from page to page, you need to override this function and return
|
| - False. Output will not appear in this mode until the entire pageset has
|
| - run."""
|
| - return True
|
| -
|
| - def MeasurePage(self, page, tab, results):
|
| - """Override to actually measure the page's performance.
|
| -
|
| - page is a page_set.Page
|
| - tab is an instance of telemetry.Tab
|
| -
|
| - Should call results.Add(name, units, value) for each result, or raise an
|
| - exception on failure. The name and units of each Add() call must be
|
| - the same across all iterations. The name 'url' must not be used.
|
| -
|
| - Prefer field names that are in accordance with python variable style. E.g.
|
| - field_name.
|
| -
|
| - Put together:
|
| -
|
| - def MeasurePage(self, page, tab, results):
|
| - res = tab.EvaluateJavaScript('2+2')
|
| - if res != 4:
|
| - raise Exception('Oh, wow.')
|
| - results.Add('two_plus_two', 'count', res)
|
| - """
|
| - raise NotImplementedError()
|
|
|