Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(401)

Unified Diff: tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py

Issue 421503005: Move Html and BuildbotPageMeasurementResults to {Html,Buildbot}OutputFormatter. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 6 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
diff --git a/tools/telemetry/telemetry/results/buildbot_page_measurement_results_unittest.py b/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
similarity index 70%
copy from tools/telemetry/telemetry/results/buildbot_page_measurement_results_unittest.py
copy to tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
index 455ffbc56d1daf8deef5ee6a24bb2e2430f30cdd..633c7bb39e7f6018ad9086bd6a835719b6d652a3 100644
--- a/tools/telemetry/telemetry/results/buildbot_page_measurement_results_unittest.py
+++ b/tools/telemetry/telemetry/results/buildbot_output_formatter_unittest.py
@@ -1,12 +1,13 @@
# 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 os
-from telemetry import perf_tests_helper
from telemetry.page import page_set
from telemetry.results import base_test_results_unittest
-from telemetry.results import buildbot_page_measurement_results
+from telemetry.results import buildbot_output_formatter
+from telemetry.results import page_test_results
from telemetry.value import failure
from telemetry.value import histogram
from telemetry.value import list_of_scalar_values
@@ -20,23 +21,15 @@ def _MakePageSet():
ps.AddPageWithDefaultRunNavigate('http://www.baz.com/')
return ps
-class SummarySavingPageMeasurementResults(
- buildbot_page_measurement_results.BuildbotPageMeasurementResults):
- def __init__(self, trace_tag=''):
- super(SummarySavingPageMeasurementResults, self).__init__(
- None, trace_tag=trace_tag)
- self.results = []
-
- def _PrintPerfResult(self, *args):
- res = perf_tests_helper.PrintPerfResult(*args, print_to_stdout=False)
- self.results.append(res)
-
-class BuildbotPageMeasurementResultsTest(
+class BuildbotOutputFormatterTest(
base_test_results_unittest.BaseTestResultsUnittest):
+ def setUp(self):
+ self._test_output_stream = base_test_results_unittest.TestOutputStream()
+
def test_basic_summary(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -49,39 +42,45 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
- expected = ['RESULT a: http___www.bar.com_= 7 seconds',
- 'RESULT a: http___www.foo.com_= 3 seconds',
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
+ expected = ['RESULT a: http___www.bar.com_= 7 seconds\n',
+ 'RESULT a: http___www.foo.com_= 3 seconds\n',
'*RESULT a: a= [3,7] seconds\nAvg a: 5.000000seconds\n' +
- 'Sd a: 2.828427seconds',
+ 'Sd a: 2.828427seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 0 count',
+ 'num_failed= 0 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_basic_summary_with_only_one_page(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
measurement_results.AddSuccess(test_page_set.pages[0])
measurement_results.StopTest(test_page_set.pages[0])
- measurement_results.PrintSummary()
- expected = ['*RESULT a: a= 3 seconds',
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
+ expected = ['*RESULT a: a= 3 seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 0 count',
+ 'num_failed= 0 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_basic_summary_nonuniform_results(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -105,26 +104,29 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[2])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
- expected = ['RESULT a: http___www.bar.com_= 3 seconds',
- 'RESULT a: http___www.baz.com_= 7 seconds',
- 'RESULT a: http___www.foo.com_= 3 seconds',
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
+ expected = ['RESULT a: http___www.bar.com_= 3 seconds\n',
+ 'RESULT a: http___www.baz.com_= 7 seconds\n',
+ 'RESULT a: http___www.foo.com_= 3 seconds\n',
'*RESULT a: a= [3,3,7] seconds\nAvg a: 4.333333seconds\n' +
- 'Sd a: 2.309401seconds',
- 'RESULT b: http___www.bar.com_= 10 seconds',
- 'RESULT b: http___www.foo.com_= 10 seconds',
- '*RESULT b: b= [10,10] seconds\nAvg b: 10.000000seconds',
+ 'Sd a: 2.309401seconds\n',
+ 'RESULT b: http___www.bar.com_= 10 seconds\n',
+ 'RESULT b: http___www.foo.com_= 10 seconds\n',
+ '*RESULT b: b= [10,10] seconds\nAvg b: 10.000000seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 0 count',
+ 'num_failed= 0 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_basic_summary_pass_and_fail_page(self):
"""If a page failed, only print summary for individual pages."""
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -138,20 +140,23 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
- expected = ['RESULT a: http___www.bar.com_= 7 seconds',
- 'RESULT a: http___www.foo.com_= 3 seconds',
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
+ expected = ['RESULT a: http___www.bar.com_= 7 seconds\n',
+ 'RESULT a: http___www.foo.com_= 3 seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 1 count',
+ 'num_failed= 1 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_repeated_pageset_one_iteration_one_page_fails(self):
"""Page fails on one iteration, no averaged results should print."""
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -176,23 +181,26 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
expected = ['RESULT a: http___www.bar.com_= [7,8] seconds\n' +
'Avg a: 7.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'RESULT a: http___www.foo.com_= [3,4] seconds\n' +
'Avg a: 3.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 1 count',
+ 'num_failed= 1 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_repeated_pageset(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -217,27 +225,30 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
expected = ['RESULT a: http___www.bar.com_= [7,8] seconds\n' +
'Avg a: 7.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'RESULT a: http___www.foo.com_= [3,4] seconds\n' +
'Avg a: 3.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'*RESULT a: a= [3,7,4,8] seconds\n' +
'Avg a: 5.500000seconds\n' +
- 'Sd a: 2.380476seconds',
+ 'Sd a: 2.380476seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 0 count',
+ 'num_failed= 0 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count'
+ 'num_errored= 0 count\n'
]
- self.assertEquals(expected, measurement_results.results)
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_repeated_pages(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(scalar.ScalarValue(
test_page_set.pages[0], 'a', 'seconds', 3))
@@ -262,28 +273,30 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
+
expected = ['RESULT a: http___www.bar.com_= [7,8] seconds\n' +
'Avg a: 7.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'RESULT a: http___www.foo.com_= [3,4] seconds\n' +
'Avg a: 3.500000seconds\n' +
- 'Sd a: 0.707107seconds',
+ 'Sd a: 0.707107seconds\n',
'*RESULT a: a= [3,4,7,8] seconds\n' +
'Avg a: 5.500000seconds\n' +
- 'Sd a: 2.380476seconds',
+ 'Sd a: 2.380476seconds\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_failed= 0 count',
+ 'num_failed= 0 count\n',
'RESULT telemetry_page_measurement_results: ' +
- 'num_errored= 0 count'
+ 'num_errored= 0 count\n'
]
- self.assertEquals(expected, measurement_results.results)
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_overall_results_trace_tag(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults(trace_tag='_ref')
-
+ measurement_results = page_test_results.PageTestResults()
measurement_results.AddSummaryValue(
scalar.ScalarValue(None, 'a', 'seconds', 1))
@@ -302,22 +315,24 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSummaryValue(
scalar.ScalarValue(None, 'c', 'seconds', 4))
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream, trace_tag='_ref')
+ formatter.Format(measurement_results)
expected = [
'*RESULT b: b_ref= [2,3] seconds\n' +
- 'Avg b: 2.500000seconds\nSd b: 0.707107seconds',
- '*RESULT a: a_ref= 1 seconds',
- '*RESULT c: c_ref= 4 seconds',
- 'RESULT telemetry_page_measurement_results: num_failed= 0 count',
- 'RESULT telemetry_page_measurement_results: num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'Avg b: 2.500000seconds\nSd b: 0.707107seconds\n',
+ '*RESULT a: a_ref= 1 seconds\n',
+ '*RESULT c: c_ref= 4 seconds\n',
+ 'RESULT telemetry_page_measurement_results: num_failed= 0 count\n',
+ 'RESULT telemetry_page_measurement_results: num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_overall_results_page_runs_twice(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.AddSummaryValue(
scalar.ScalarValue(None, 'a', 'seconds', 1))
@@ -334,22 +349,24 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[0])
measurement_results.StopTest(test_page_set.pages[0])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
expected = [
'RESULT b: http___www.foo.com_= [2,3] seconds\n' +
- 'Avg b: 2.500000seconds\nSd b: 0.707107seconds',
+ 'Avg b: 2.500000seconds\nSd b: 0.707107seconds\n',
'*RESULT b: b= [2,3] seconds\n' +
- 'Avg b: 2.500000seconds\nSd b: 0.707107seconds',
- '*RESULT a: a= 1 seconds',
- 'RESULT telemetry_page_measurement_results: num_failed= 0 count',
- 'RESULT telemetry_page_measurement_results: num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'Avg b: 2.500000seconds\nSd b: 0.707107seconds\n',
+ '*RESULT a: a= 1 seconds\n',
+ 'RESULT telemetry_page_measurement_results: num_failed= 0 count\n',
+ 'RESULT telemetry_page_measurement_results: num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_unimportant_results(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.AddSummaryValue(
scalar.ScalarValue(None, 'a', 'seconds', 1, important=False))
@@ -366,22 +383,24 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
self.assertEquals(
- measurement_results.results,
- ['RESULT b: http___www.bar.com_= 3 seconds',
- 'RESULT b: http___www.foo.com_= 2 seconds',
+ self._test_output_stream.output_data,
+ ['RESULT b: http___www.bar.com_= 3 seconds\n',
+ 'RESULT b: http___www.foo.com_= 2 seconds\n',
'RESULT b: b= [2,3] seconds\n' +
- 'Avg b: 2.500000seconds\nSd b: 0.707107seconds',
- 'RESULT a: a= 1 seconds',
- 'RESULT telemetry_page_measurement_results: num_failed= 0 count',
- 'RESULT telemetry_page_measurement_results: num_errored= 0 count'])
+ 'Avg b: 2.500000seconds\nSd b: 0.707107seconds\n',
+ 'RESULT a: a= 1 seconds\n',
+ 'RESULT telemetry_page_measurement_results: num_failed= 0 count\n',
+ 'RESULT telemetry_page_measurement_results: num_errored= 0 count\n'])
def test_list_value(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.AddSummaryValue(
list_of_scalar_values.ListOfScalarValues(None, 'a', 'seconds', [1, 1]))
@@ -398,24 +417,26 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
expected = [
'RESULT b: http___www.bar.com_= [3,3] seconds\n' +
- 'Avg b: 3.000000seconds',
+ 'Avg b: 3.000000seconds\n',
'RESULT b: http___www.foo.com_= [2,2] seconds\n' +
- 'Avg b: 2.000000seconds',
+ 'Avg b: 2.000000seconds\n',
'*RESULT b: b= [2,2,3,3] seconds\nAvg b: 2.500000seconds\n' +
- 'Sd b: 0.577350seconds',
- '*RESULT a: a= [1,1] seconds\nAvg a: 1.000000seconds',
- 'RESULT telemetry_page_measurement_results: num_failed= 0 count',
- 'RESULT telemetry_page_measurement_results: num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'Sd b: 0.577350seconds\n',
+ '*RESULT a: a= [1,1] seconds\nAvg a: 1.000000seconds\n',
+ 'RESULT telemetry_page_measurement_results: num_failed= 0 count\n',
+ 'RESULT telemetry_page_measurement_results: num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)
def test_histogram(self):
test_page_set = _MakePageSet()
- measurement_results = SummarySavingPageMeasurementResults()
+ measurement_results = page_test_results.PageTestResults()
measurement_results.StartTest(test_page_set.pages[0])
measurement_results.AddValue(histogram.HistogramValue(
test_page_set.pages[0], 'a', 'units',
@@ -432,15 +453,17 @@ class BuildbotPageMeasurementResultsTest(
measurement_results.AddSuccess(test_page_set.pages[1])
measurement_results.StopTest(test_page_set.pages[1])
- measurement_results.PrintSummary()
+ formatter = buildbot_output_formatter.BuildbotOutputFormatter(
+ self._test_output_stream)
+ formatter.Format(measurement_results)
expected = [
'HISTOGRAM a: http___www.bar.com_= ' +
'{"buckets": [{"low": 2, "high": 3, "count": 1}]} units\n' +
- 'Avg a: 2.500000units',
+ 'Avg a: 2.500000units\n',
'HISTOGRAM a: http___www.foo.com_= ' +
'{"buckets": [{"low": 1, "high": 2, "count": 1}]} units\n' +
- 'Avg a: 1.500000units',
- 'RESULT telemetry_page_measurement_results: num_failed= 0 count',
- 'RESULT telemetry_page_measurement_results: num_errored= 0 count']
- self.assertEquals(expected, measurement_results.results)
+ 'Avg a: 1.500000units\n',
+ 'RESULT telemetry_page_measurement_results: num_failed= 0 count\n',
+ 'RESULT telemetry_page_measurement_results: num_errored= 0 count\n']
+ self.assertEquals(expected, self._test_output_stream.output_data)

Powered by Google App Engine
This is Rietveld 408576698