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..dd8d23b69bd04a29ded9edbc6bbfbe53bea1b14f 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) |
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 |