OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import optparse | 5 import optparse |
6 import os | 6 import os |
7 import sys | 7 import sys |
8 | 8 |
9 from telemetry.core import util | 9 from telemetry.core import util |
10 from telemetry.page import page_measurement | 10 from telemetry.page import page_measurement |
11 from telemetry.results import buildbot_page_measurement_results | 11 from telemetry.results import buildbot_page_measurement_results |
12 from telemetry.results import csv_output_formatter | 12 from telemetry.results import csv_output_formatter |
13 from telemetry.results import gtest_test_results | 13 from telemetry.results import gtest_test_results |
14 from telemetry.results import html_page_measurement_results | 14 from telemetry.results import html_page_measurement_results |
15 from telemetry.results import json_output_formatter | 15 from telemetry.results import json_output_formatter |
16 from telemetry.results import page_measurement_results | |
17 from telemetry.results import page_test_results | 16 from telemetry.results import page_test_results |
18 | 17 |
19 | 18 |
20 # Allowed output formats. The default is the first item in the list. | 19 # Allowed output formats. The default is the first item in the list. |
21 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', | 20 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', |
22 'json', 'none') | 21 'json', 'none') |
23 | 22 |
24 | 23 |
25 def AddResultsOptions(parser): | 24 def AddResultsOptions(parser): |
26 group = optparse.OptionGroup(parser, 'Results options') | 25 group = optparse.OptionGroup(parser, 'Results options') |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
60 output_stream = open(output_file, 'r+') | 59 output_stream = open(output_file, 'r+') |
61 else: | 60 else: |
62 output_stream = sys.stdout | 61 output_stream = sys.stdout |
63 if not hasattr(options, 'output_format'): | 62 if not hasattr(options, 'output_format'): |
64 options.output_format = _OUTPUT_FORMAT_CHOICES[0] | 63 options.output_format = _OUTPUT_FORMAT_CHOICES[0] |
65 if not hasattr(options, 'output_trace_tag'): | 64 if not hasattr(options, 'output_trace_tag'): |
66 options.output_trace_tag = '' | 65 options.output_trace_tag = '' |
67 | 66 |
68 output_formatters = [] | 67 output_formatters = [] |
69 if options.output_format == 'none': | 68 if options.output_format == 'none': |
70 return page_measurement_results.PageMeasurementResults( | 69 return page_test_results.PageTestResults( |
71 output_stream, trace_tag=options.output_trace_tag) | 70 output_stream, trace_tag=options.output_trace_tag) |
72 elif options.output_format == 'csv': | 71 elif options.output_format == 'csv': |
73 output_formatters.append( | 72 output_formatters.append( |
74 csv_output_formatter.CsvOutputFormatter(output_stream)) | 73 csv_output_formatter.CsvOutputFormatter(output_stream)) |
75 elif options.output_format == 'buildbot': | 74 elif options.output_format == 'buildbot': |
76 return buildbot_page_measurement_results.BuildbotPageMeasurementResults( | 75 return buildbot_page_measurement_results.BuildbotPageMeasurementResults( |
77 output_stream, trace_tag=options.output_trace_tag) | 76 output_stream, trace_tag=options.output_trace_tag) |
78 elif options.output_format == 'gtest': | 77 elif options.output_format == 'gtest': |
79 return gtest_test_results.GTestTestResults(output_stream) | 78 return gtest_test_results.GTestTestResults(output_stream) |
80 elif options.output_format == 'html': | 79 elif options.output_format == 'html': |
81 return html_page_measurement_results.HtmlPageMeasurementResults( | 80 return html_page_measurement_results.HtmlPageMeasurementResults( |
82 output_stream, test.__class__.__name__, options.reset_results, | 81 output_stream, test.__class__.__name__, options.reset_results, |
83 options.upload_results, options.browser_type, | 82 options.upload_results, options.browser_type, |
84 options.results_label, trace_tag=options.output_trace_tag) | 83 options.results_label, trace_tag=options.output_trace_tag) |
85 elif options.output_format == 'json': | 84 elif options.output_format == 'json': |
86 return json_output_formatter.JsonOutputFormatter(output_stream) | 85 return json_output_formatter.JsonOutputFormatter(output_stream) |
87 | 86 |
88 if len(output_formatters) > 0: | 87 if len(output_formatters) > 0: |
89 return page_test_results.PageTestResults( | 88 return page_test_results.PageTestResults( |
90 output_formatters=output_formatters) | 89 output_formatters=output_formatters) |
91 else: | 90 else: |
92 # Should never be reached. The parser enforces the choices. | 91 # Should never be reached. The parser enforces the choices. |
93 raise Exception('Invalid --output-format "%s". Valid choices are: %s' | 92 raise Exception('Invalid --output-format "%s". Valid choices are: %s' |
94 % (options.output_format, | 93 % (options.output_format, |
95 ', '.join(_OUTPUT_FORMAT_CHOICES))) | 94 ', '.join(_OUTPUT_FORMAT_CHOICES))) |
OLD | NEW |