Index: build/android/pylib/results/json_results.py |
diff --git a/build/android/pylib/results/json_results.py b/build/android/pylib/results/json_results.py |
deleted file mode 100644 |
index 65664e3da097eca45d0e0614356ad3db617a3d91..0000000000000000000000000000000000000000 |
--- a/build/android/pylib/results/json_results.py |
+++ /dev/null |
@@ -1,139 +0,0 @@ |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import json |
-import logging |
- |
-from pylib.base import base_test_result |
- |
- |
-def GenerateResultsDict(test_run_result): |
- """Create a results dict from |test_run_result| suitable for writing to JSON. |
- Args: |
- test_run_result: a base_test_result.TestRunResults object. |
- Returns: |
- A results dict that mirrors the one generated by |
- base/test/launcher/test_results_tracker.cc:SaveSummaryAsJSON. |
- """ |
- # Example json output. |
- # { |
- # "global_tags": [], |
- # "all_tests": [ |
- # "test1", |
- # "test2", |
- # ], |
- # "disabled_tests": [], |
- # "per_iteration_data": [ |
- # { |
- # "test1": [ |
- # { |
- # "status": "SUCCESS", |
- # "elapsed_time_ms": 1, |
- # "output_snippet": "", |
- # "output_snippet_base64": "", |
- # "losless_snippet": "", |
- # }, |
- # ], |
- # "test2": [ |
- # { |
- # "status": "FAILURE", |
- # "elapsed_time_ms": 12, |
- # "output_snippet": "", |
- # "output_snippet_base64": "", |
- # "losless_snippet": "", |
- # }, |
- # ], |
- # }, |
- # ], |
- # } |
- |
- assert isinstance(test_run_result, base_test_result.TestRunResults) |
- |
- def status_as_string(s): |
- if s == base_test_result.ResultType.PASS: |
- return 'SUCCESS' |
- elif s == base_test_result.ResultType.SKIP: |
- return 'SKIPPED' |
- elif s == base_test_result.ResultType.FAIL: |
- return 'FAILURE' |
- elif s == base_test_result.ResultType.CRASH: |
- return 'CRASH' |
- elif s == base_test_result.ResultType.TIMEOUT: |
- return 'TIMEOUT' |
- elif s == base_test_result.ResultType.UNKNOWN: |
- return 'UNKNOWN' |
- |
- def generate_iteration_data(t): |
- return { |
- t.GetName(): [ |
- { |
- 'status': status_as_string(t.GetType()), |
- 'elapsed_time_ms': t.GetDuration(), |
- 'output_snippet': '', |
- 'losless_snippet': '', |
- 'output_snippet_base64:': '', |
- } |
- ] |
- } |
- |
- all_tests_tuple, per_iteration_data_tuple = zip( |
- *[(t.GetName(), generate_iteration_data(t)) |
- for t in test_run_result.GetAll()]) |
- |
- return { |
- 'global_tags': [], |
- 'all_tests': list(all_tests_tuple), |
- # TODO(jbudorick): Add support for disabled tests within base_test_result. |
- 'disabled_tests': [], |
- 'per_iteration_data': list(per_iteration_data_tuple), |
- } |
- |
- |
-def GenerateJsonResultsFile(test_run_result, file_path): |
- """Write |test_run_result| to JSON. |
- |
- This emulates the format of the JSON emitted by |
- base/test/launcher/test_results_tracker.cc:SaveSummaryAsJSON. |
- |
- Args: |
- test_run_result: a base_test_result.TestRunResults object. |
- file_path: The path to the JSON file to write. |
- """ |
- with open(file_path, 'w') as json_result_file: |
- json_result_file.write(json.dumps(GenerateResultsDict(test_run_result))) |
- |
- |
-def ParseResultsFromJson(json_results): |
- """Creates a list of BaseTestResult objects from JSON. |
- |
- Args: |
- json_results: A JSON dict in the format created by |
- GenerateJsonResultsFile. |
- """ |
- |
- def string_as_status(s): |
- if s == 'SUCCESS': |
- return base_test_result.ResultType.PASS |
- elif s == 'SKIPPED': |
- return base_test_result.ResultType.SKIP |
- elif s == 'FAILURE': |
- return base_test_result.ResultType.FAIL |
- elif s == 'CRASH': |
- return base_test_result.ResultType.CRASH |
- elif s == 'TIMEOUT': |
- return base_test_result.ResultType.TIMEOUT |
- else: |
- return base_test_result.ResultType.UNKNOWN |
- |
- results_list = [] |
- testsuite_runs = json_results['per_iteration_data'] |
- for testsuite_run in testsuite_runs: |
- for test, test_runs in testsuite_run.iteritems(): |
- results_list.extend( |
- [base_test_result.BaseTestResult(test, |
- string_as_status(tr['status']), |
- duration=tr['elapsed_time_ms']) |
- for tr in test_runs]) |
- return results_list |
- |