| Index: tools/telemetry/telemetry/page_benchmark_results_unittest.py
|
| diff --git a/tools/telemetry/telemetry/page_benchmark_results_unittest.py b/tools/telemetry/telemetry/page_benchmark_results_unittest.py
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..fec3aafcbbe0cd7e6789a16241e216b6edb035a5
|
| --- /dev/null
|
| +++ b/tools/telemetry/telemetry/page_benchmark_results_unittest.py
|
| @@ -0,0 +1,107 @@
|
| +# 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.
|
| +import os
|
| +import unittest
|
| +
|
| +from telemetry.page_benchmark_results import PageBenchmarkResults
|
| +from telemetry.page_set import PageSet
|
| +from telemetry.perf_tests_helper import PrintPerfResult
|
| +
|
| +
|
| +def _MakePageSet():
|
| + return PageSet.FromDict({
|
| + "description": "hello",
|
| + "archive_path": "foo.wpr",
|
| + "pages": [
|
| + {"url": "http://www.foo.com/"},
|
| + {"url": "http://www.bar.com/"}
|
| + ]
|
| + }, os.path.dirname(__file__))
|
| +
|
| +class NonPrintingPageBenchmarkResults(PageBenchmarkResults):
|
| + def __init__(self):
|
| + super(NonPrintingPageBenchmarkResults, self).__init__()
|
| +
|
| + def _PrintPerfResult(self, *args):
|
| + pass
|
| +
|
| +class SummarySavingPageBenchmarkResults(PageBenchmarkResults):
|
| + def __init__(self):
|
| + super(SummarySavingPageBenchmarkResults, self).__init__()
|
| + self.results = []
|
| +
|
| + def _PrintPerfResult(self, *args):
|
| + res = PrintPerfResult(*args, print_to_stdout=False)
|
| + self.results.append(res)
|
| +
|
| +class PageBenchmarkResultsTest(unittest.TestCase):
|
| + def test_basic(self):
|
| + page_set = _MakePageSet()
|
| +
|
| + benchmark_results = NonPrintingPageBenchmarkResults()
|
| + benchmark_results.WillMeasurePage(page_set.pages[0])
|
| + benchmark_results.Add('a', 'seconds', 3)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.WillMeasurePage(page_set.pages[1])
|
| + benchmark_results.Add('a', 'seconds', 3)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.PrintSummary('trace_tag')
|
| +
|
| + def test_url_is_invalid_value(self):
|
| + page_set = _MakePageSet()
|
| +
|
| + benchmark_results = NonPrintingPageBenchmarkResults()
|
| + benchmark_results.WillMeasurePage(page_set.pages[0])
|
| + self.assertRaises(
|
| + AssertionError,
|
| + lambda: benchmark_results.Add('url', 'string', 'foo'))
|
| +
|
| + def test_unit_change(self):
|
| + page_set = _MakePageSet()
|
| +
|
| + benchmark_results = NonPrintingPageBenchmarkResults()
|
| + benchmark_results.WillMeasurePage(page_set.pages[0])
|
| + benchmark_results.Add('a', 'seconds', 3)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.WillMeasurePage(page_set.pages[1])
|
| + self.assertRaises(
|
| + AssertionError,
|
| + lambda: benchmark_results.Add('a', 'foobgrobbers', 3))
|
| +
|
| + def test_type_change(self):
|
| + page_set = _MakePageSet()
|
| +
|
| + benchmark_results = NonPrintingPageBenchmarkResults()
|
| + benchmark_results.WillMeasurePage(page_set.pages[0])
|
| + benchmark_results.Add('a', 'seconds', 3)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.WillMeasurePage(page_set.pages[1])
|
| + self.assertRaises(
|
| + AssertionError,
|
| + lambda: benchmark_results.Add('a', 'seconds', 3, data_type='histogram'))
|
| +
|
| + def test_basic_summary(self):
|
| + page_set = _MakePageSet()
|
| +
|
| + benchmark_results = SummarySavingPageBenchmarkResults()
|
| + benchmark_results.WillMeasurePage(page_set.pages[0])
|
| + benchmark_results.Add('a', 'seconds', 3)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.WillMeasurePage(page_set.pages[1])
|
| + benchmark_results.Add('a', 'seconds', 7)
|
| + benchmark_results.DidMeasurePage()
|
| +
|
| + benchmark_results.PrintSummary(None)
|
| + expected = ['RESULT a_by_url: http___www.foo.com_= 3 seconds',
|
| + 'RESULT a_by_url: http___www.bar.com_= 7 seconds',
|
| + '*RESULT a: a= [3,7] seconds\nAvg a: 5.000000seconds\n' +
|
| + 'Sd a: 2.828427seconds']
|
| + self.assertEquals(
|
| + benchmark_results.results,
|
| + expected)
|
|
|