Commit d5f2f72e authored by nednguyen@google.com's avatar nednguyen@google.com

Kill block format.

BUG=346956

Review URL: https://codereview.chromium.org/419503004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@285793 0039d316-1c4b-4281-b951-d872f2087c98
parent f80685c3
# 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.results import page_measurement_results
from telemetry.value import merge_values
class BlockPageMeasurementResults(
page_measurement_results.PageMeasurementResults):
def __init__(self, output_stream):
super(BlockPageMeasurementResults, self).__init__(output_stream)
def PrintSummary(self):
try:
values = merge_values.MergeLikeValuesFromSamePage(
self.all_page_specific_values)
value_groups_by_page = merge_values.GroupStably(
values, lambda value: value.page.url)
for values_for_page in value_groups_by_page:
if not values_for_page:
# Do not output if no results were added on this page.
return
lines = ['name: %s' % values_for_page[0].page.display_name]
for value in sorted(values_for_page, key=lambda x: x.name):
lines.append('%s (%s): %s' %
(value.name,
value.units,
value.GetRepresentativeString()))
for line in lines:
self._output_stream.write(line)
self._output_stream.write(os.linesep)
self._output_stream.write(os.linesep)
self._output_stream.flush()
finally:
super(BlockPageMeasurementResults, self).PrintSummary()
# 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 StringIO
import os
import unittest
from telemetry.page import page_set
from telemetry.results import block_page_measurement_results
from telemetry.value import scalar
BlockPageMeasurementResults = \
block_page_measurement_results.BlockPageMeasurementResults
def _MakePageSet():
ps = page_set.PageSet(file_path=os.path.dirname(__file__))
ps.AddPageWithDefaultRunNavigate('http://www.foo.com/')
ps.AddPageWithDefaultRunNavigate('http://www.bar.com/')
return ps
class NonPrintingBlockPageMeasurementResults(BlockPageMeasurementResults):
def __init__(self, *args):
super(NonPrintingBlockPageMeasurementResults, self).__init__(*args)
def _PrintPerfResult(self, *args):
pass
class BlockPageMeasurementResultsTest(unittest.TestCase):
def setUp(self):
self._output = StringIO.StringIO()
self._page_set = _MakePageSet()
@property
def lines(self):
lines = StringIO.StringIO(self._output.getvalue()).readlines()
return [line.strip() for line in lines]
@property
def data(self):
return [line.split(': ', 1) for line in self.lines]
def testOutput(self):
results = NonPrintingBlockPageMeasurementResults(self._output)
results.StartTest(self._page_set[0])
results.AddValue(
scalar.ScalarValue(self._page_set[0], 'foo', 'seconds', 3))
results.StopTest(self._page_set[0])
results.StartTest(self._page_set[1])
results.AddValue(
scalar.ScalarValue(self._page_set[1], 'bar', 'seconds', 4))
results.StopTest(self._page_set[1])
results.PrintSummary()
expected = [
['name', 'http://www.foo.com/'],
['foo (seconds)', '[3]'],
[''],
['name', 'http://www.bar.com/'],
['bar (seconds)', '[4]'],
['']
]
self.assertEquals(self.data, expected)
...@@ -8,7 +8,6 @@ import sys ...@@ -8,7 +8,6 @@ import sys
from telemetry.core import util from telemetry.core import util
from telemetry.page import page_measurement from telemetry.page import page_measurement
from telemetry.results import block_page_measurement_results
from telemetry.results import buildbot_page_measurement_results from telemetry.results import buildbot_page_measurement_results
from telemetry.results import csv_page_measurement_results from telemetry.results import csv_page_measurement_results
from telemetry.results import gtest_test_results from telemetry.results import gtest_test_results
...@@ -17,7 +16,7 @@ from telemetry.results import page_measurement_results ...@@ -17,7 +16,7 @@ from telemetry.results import page_measurement_results
# Allowed output formats. The default is the first item in the list. # Allowed output formats. The default is the first item in the list.
_OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', 'none') _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'csv', 'gtest', 'none')
def AddResultsOptions(parser): def AddResultsOptions(parser):
...@@ -67,11 +66,7 @@ def PrepareResults(test, options): ...@@ -67,11 +66,7 @@ def PrepareResults(test, options):
return page_measurement_results.PageMeasurementResults( return page_measurement_results.PageMeasurementResults(
output_stream, trace_tag=options.output_trace_tag) output_stream, trace_tag=options.output_trace_tag)
elif options.output_format == 'csv': elif options.output_format == 'csv':
return csv_page_measurement_results.CsvPageMeasurementResults( return csv_page_measurement_results.CsvPageMeasurementResults(output_stream)
output_stream)
elif options.output_format == 'block':
return block_page_measurement_results.BlockPageMeasurementResults(
output_stream)
elif options.output_format == 'buildbot': elif options.output_format == 'buildbot':
return buildbot_page_measurement_results.BuildbotPageMeasurementResults( return buildbot_page_measurement_results.BuildbotPageMeasurementResults(
output_stream, trace_tag=options.output_trace_tag) output_stream, trace_tag=options.output_trace_tag)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment