| Index: tools/telemetry/telemetry/results/results_options.py
|
| diff --git a/tools/telemetry/telemetry/results/results_options.py b/tools/telemetry/telemetry/results/results_options.py
|
| index c3bee7d1596e0a3bca598fbca660ce9e80f84336..2607d42d07d797a78c292f47e8768b85ce598a10 100644
|
| --- a/tools/telemetry/telemetry/results/results_options.py
|
| +++ b/tools/telemetry/telemetry/results/results_options.py
|
| @@ -8,11 +8,12 @@
|
|
|
| from telemetry.core import util
|
| from telemetry.page import page_measurement
|
| -from telemetry.results import buildbot_output_formatter
|
| +from telemetry.results import buildbot_page_measurement_results
|
| from telemetry.results import csv_output_formatter
|
| from telemetry.results import gtest_test_results
|
| -from telemetry.results import html_output_formatter
|
| +from telemetry.results import html_page_measurement_results
|
| from telemetry.results import json_output_formatter
|
| +from telemetry.results import page_measurement_results
|
| from telemetry.results import page_test_results
|
|
|
|
|
| @@ -50,9 +51,6 @@
|
| if options.output_format != 'none':
|
| options.output_format = 'gtest'
|
|
|
| - # TODO(chrishenry): This logic prevents us from having multiple
|
| - # OutputFormatters. We should have an output_file per OutputFormatter.
|
| - # Maybe we should have --output-dir instead of --output-file?
|
| if options.output_format == 'html' and not options.output_file:
|
| options.output_file = os.path.join(util.GetBaseDir(), 'results.html')
|
|
|
| @@ -69,34 +67,29 @@
|
|
|
| output_formatters = []
|
| if options.output_format == 'none':
|
| - pass
|
| + return page_measurement_results.PageMeasurementResults(
|
| + output_stream, trace_tag=options.output_trace_tag)
|
| elif options.output_format == 'csv':
|
| - output_formatters.append(csv_output_formatter.CsvOutputFormatter(
|
| - output_stream))
|
| + output_formatters.append(
|
| + csv_output_formatter.CsvOutputFormatter(output_stream))
|
| elif options.output_format == 'buildbot':
|
| - output_formatters.append(buildbot_output_formatter.BuildbotOutputFormatter(
|
| - output_stream, trace_tag=options.output_trace_tag))
|
| + return buildbot_page_measurement_results.BuildbotPageMeasurementResults(
|
| + output_stream, trace_tag=options.output_trace_tag)
|
| elif options.output_format == 'gtest':
|
| return gtest_test_results.GTestTestResults(output_stream)
|
| elif options.output_format == 'html':
|
| - # TODO(chrishenry): We show buildbot output so that users can grep
|
| - # through the results easily without needing to open the html
|
| - # file. Another option for this is to output the results directly
|
| - # in gtest-style results (via some sort of progress reporter),
|
| - # as we plan to enable gtest-style output for all output formatters.
|
| - output_formatters.append(buildbot_output_formatter.BuildbotOutputFormatter(
|
| - sys.stdout, trace_tag=options.output_trace_tag))
|
| - output_formatters.append(html_output_formatter.HtmlOutputFormatter(
|
| + return html_page_measurement_results.HtmlPageMeasurementResults(
|
| output_stream, test.__class__.__name__, options.reset_results,
|
| options.upload_results, options.browser_type,
|
| - options.results_label, trace_tag=options.output_trace_tag))
|
| + options.results_label, trace_tag=options.output_trace_tag)
|
| elif options.output_format == 'json':
|
| - output_formatters.append(json_output_formatter.JsonOutputFormatter(
|
| - output_stream))
|
| + return json_output_formatter.JsonOutputFormatter(output_stream)
|
| +
|
| + if len(output_formatters) > 0:
|
| + return page_test_results.PageTestResults(
|
| + output_formatters=output_formatters)
|
| else:
|
| # Should never be reached. The parser enforces the choices.
|
| raise Exception('Invalid --output-format "%s". Valid choices are: %s'
|
| % (options.output_format,
|
| ', '.join(_OUTPUT_FORMAT_CHOICES)))
|
| -
|
| - return page_test_results.PageTestResults(output_formatters=output_formatters)
|
|
|