Chromium Code Reviews| Index: testing/scripts/run_telemetry_benchmark_as_googletest.py |
| diff --git a/testing/scripts/run_telemetry_benchmark_as_googletest.py b/testing/scripts/run_telemetry_benchmark_as_googletest.py |
| index 387c5c8da95993f984f20522253b471eca93a58d..6b7f69435d27530b9a2d2ee7567ba21a44bb3515 100755 |
| --- a/testing/scripts/run_telemetry_benchmark_as_googletest.py |
| +++ b/testing/scripts/run_telemetry_benchmark_as_googletest.py |
| @@ -44,6 +44,9 @@ def main(): |
| parser.add_argument( |
| '--isolated-script-test-output', type=argparse.FileType('w'), |
| required=True) |
| + parser.add_argument( |
| + '--isolated-script-test-chartjson-output', type=argparse.FileType('w'), |
| + required=False) |
|
Ken Russell (switch to Gerrit)
2016/09/17 02:39:56
Sorry, I only just realized this: since you're pas
eyaich1
2016/09/19 15:20:50
Done.
|
| parser.add_argument('--xvfb', help='Start xvfb.', action='store_true') |
| args, rest_args = parser.parse_known_args() |
| xvfb_proc = None |
| @@ -62,6 +65,9 @@ def main(): |
| tempfile_dir = tempfile.mkdtemp('telemetry') |
| valid = True |
| failures = [] |
| + chartjson = (args.isolated_script_test_chartjson_output is not None and |
| + '--output-format=chartjson' in rest_args) |
| + chartresults = None |
| try: |
| rc = common.run_command([sys.executable] + rest_args + [ |
| '--output-dir', tempfile_dir, |
| @@ -74,6 +80,13 @@ def main(): |
| if value['type'] == 'failure': |
| failures.append(results['pages'][str(value['page_id'])]['name']) |
| valid = bool(rc == 0 or failures) |
| + # If we have also output chartjson read it in and return it. |
| + # results-chart.json is the file name output by telemetry when the |
| + # chartjson output format is included |
| + if chartjson: |
| + chart_tempfile_name = os.path.join(tempfile_dir, 'results-chart.json') |
| + with open(chart_tempfile_name) as f: |
| + chartresults = json.load(f) |
| except Exception: |
| traceback.print_exc() |
| valid = False |
| @@ -85,9 +98,12 @@ def main(): |
| if rc == 0: |
| rc = 1 # Signal an abnormal exit. |
| + if chartjson: |
| + json.dump(chartresults, args.isolated_script_test_chartjson_output) |
| + |
| json.dump({ |
| 'valid': valid, |
| - 'failures': failures, |
| + 'failures': failures |
| }, args.isolated_script_test_output) |
| return rc |