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.results import buildbot_output_formatter | 10 from telemetry.results import buildbot_output_formatter |
11 from telemetry.results import chart_json_output_formatter | 11 from telemetry.results import chart_json_output_formatter |
12 from telemetry.results import csv_output_formatter | 12 from telemetry.results import csv_output_formatter |
13 from telemetry.results import csv_pivot_table_output_formatter | |
13 from telemetry.results import gtest_progress_reporter | 14 from telemetry.results import gtest_progress_reporter |
14 from telemetry.results import html_output_formatter | 15 from telemetry.results import html_output_formatter |
15 from telemetry.results import json_output_formatter | 16 from telemetry.results import json_output_formatter |
16 from telemetry.results import page_test_results | 17 from telemetry.results import page_test_results |
17 from telemetry.results import progress_reporter | 18 from telemetry.results import progress_reporter |
18 | 19 |
19 # Allowed output formats. The default is the first item in the list. | 20 # Allowed output formats. The default is the first item in the list. |
20 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', 'json', | 21 _OUTPUT_FORMAT_CHOICES = ('html', 'buildbot', 'block', 'csv', 'gtest', 'json', |
21 'chartjson', 'none') | 22 'chartjson', 'csv-pivot-table', 'none') |
22 | 23 |
23 | 24 |
24 def AddResultsOptions(parser): | 25 def AddResultsOptions(parser): |
25 group = optparse.OptionGroup(parser, 'Results options') | 26 group = optparse.OptionGroup(parser, 'Results options') |
26 group.add_option('--chartjson', action='store_true', | 27 group.add_option('--chartjson', action='store_true', |
27 help='Output Chart JSON. Ignores --output-format.') | 28 help='Output Chart JSON. Ignores --output-format.') |
28 group.add_option('--output-format', action='append', dest='output_formats', | 29 group.add_option('--output-format', action='append', dest='output_formats', |
29 choices=_OUTPUT_FORMAT_CHOICES, default=[], | 30 choices=_OUTPUT_FORMAT_CHOICES, default=[], |
30 help='Output format. Defaults to "%%default". ' | 31 help='Output format. Defaults to "%%default". ' |
31 'Can be %s.' % ', '.join(_OUTPUT_FORMAT_CHOICES)) | 32 'Can be %s.' % ', '.join(_OUTPUT_FORMAT_CHOICES)) |
nednguyen
2014/10/09 17:05:14
How would telemetry users know that --output-trace
vogelheim
2014/10/10 11:27:43
Done. (I think...)
I've added the description to
| |
32 group.add_option('-o', '--output', | 33 group.add_option('-o', '--output', |
33 dest='output_file', | 34 dest='output_file', |
34 default=None, | 35 default=None, |
35 help='Redirects output to a file. Defaults to stdout.') | 36 help='Redirects output to a file. Defaults to stdout.') |
36 group.add_option('--output-trace-tag', | 37 group.add_option('--output-trace-tag', |
37 default='', | 38 default='', |
38 help='Append a tag to the key of each result trace.') | 39 help='Append a tag to the key of each result trace.') |
39 group.add_option('--reset-results', action='store_true', | 40 group.add_option('--reset-results', action='store_true', |
40 help='Delete all stored results.') | 41 help='Delete all stored results.') |
41 group.add_option('--upload-results', action='store_true', | 42 group.add_option('--upload-results', action='store_true', |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
90 | 91 |
91 output_formatters = [] | 92 output_formatters = [] |
92 for output_format in options.output_formats: | 93 for output_format in options.output_formats: |
93 if output_format == 'none' or output_format == "gtest" or options.chartjson: | 94 if output_format == 'none' or output_format == "gtest" or options.chartjson: |
94 continue | 95 continue |
95 | 96 |
96 output_stream = _GetOutputStream(output_format, options.output_file) | 97 output_stream = _GetOutputStream(output_format, options.output_file) |
97 if output_format == 'csv': | 98 if output_format == 'csv': |
98 output_formatters.append(csv_output_formatter.CsvOutputFormatter( | 99 output_formatters.append(csv_output_formatter.CsvOutputFormatter( |
99 output_stream)) | 100 output_stream)) |
101 elif output_format == 'csv-pivot-table': | |
102 output_formatters.append( | |
103 csv_pivot_table_output_formatter.CsvPivotTableOutputFormatter( | |
104 output_stream, trace_tag=options.output_trace_tag)) | |
100 elif output_format == 'buildbot': | 105 elif output_format == 'buildbot': |
101 output_formatters.append( | 106 output_formatters.append( |
102 buildbot_output_formatter.BuildbotOutputFormatter( | 107 buildbot_output_formatter.BuildbotOutputFormatter( |
103 output_stream, trace_tag=options.output_trace_tag)) | 108 output_stream, trace_tag=options.output_trace_tag)) |
104 elif output_format == 'html': | 109 elif output_format == 'html': |
105 # TODO(chrishenry): We show buildbot output so that users can grep | 110 # TODO(chrishenry): We show buildbot output so that users can grep |
106 # through the results easily without needing to open the html | 111 # through the results easily without needing to open the html |
107 # file. Another option for this is to output the results directly | 112 # file. Another option for this is to output the results directly |
108 # in gtest-style results (via some sort of progress reporter), | 113 # in gtest-style results (via some sort of progress reporter), |
109 # as we plan to enable gtest-style output for all output formatters. | 114 # as we plan to enable gtest-style output for all output formatters. |
(...skipping 18 matching lines...) Expand all Loading... | |
128 | 133 |
129 # TODO(chrishenry): This is here to not change the output of | 134 # TODO(chrishenry): This is here to not change the output of |
130 # gtest. Let's try enabling skipped tests summary for gtest test | 135 # gtest. Let's try enabling skipped tests summary for gtest test |
131 # results too (in a separate patch), and see if we break anything. | 136 # results too (in a separate patch), and see if we break anything. |
132 output_skipped_tests_summary = 'gtest' in options.output_formats | 137 output_skipped_tests_summary = 'gtest' in options.output_formats |
133 | 138 |
134 reporter = _GetProgressReporter(output_skipped_tests_summary, | 139 reporter = _GetProgressReporter(output_skipped_tests_summary, |
135 options.suppress_gtest_report) | 140 options.suppress_gtest_report) |
136 return page_test_results.PageTestResults( | 141 return page_test_results.PageTestResults( |
137 output_formatters=output_formatters, progress_reporter=reporter) | 142 output_formatters=output_formatters, progress_reporter=reporter) |
OLD | NEW |